让网站更安全的同源策略
在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷。网站更是攻击的主要对象,因此网站的安全也就成为了一个非常重要的话题。那么如何才能更好地保护我们的数据?
同源策略是浏览器上为安全性考虑实施的非常重要的安全策略。
到底什么是同源呢?
网站的网页URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口完全相同,则表示他们同源。如果三者任何一个不一样,都称为不同源。
比如:http://localhost:8080/和http://localhost:8081由于端口不同而不同源。
那到底什么是同源策略呢?
浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性。从一个域上加载的脚本不允许访问另外一个域的文档属性。
举个很简单的例子,在网页中可能会用iframe的方式引用另一个网页,如果没有做同源限制,那么网页中是可以访问这个iframe里面的内容的。黑客可能就利用这个技术自己做一个网页去嵌套银行等的页面做一些恶意程序,使用户在iframe中登录的时候,网页就记录下来了相关的账户信息,信息泄漏的可能性就变成了必然性。
在浏览器中,script、link、iframe、img等标签都可以加载跨域资源,而不受同源限制,但浏览器限制了JavaScript的权限使其不能读、写加载的内容。另外同源策略只对网页的HTML文档做了限制,对加载的其他静态资源如javascript、css、图片等仍然认为属于同源。
但是,这里但是就来了,ajax技术的产生,使这种安全机制被突破。具体怎么突破的,且听下回分解。
另外最近在琢磨公众号的一些新的玩儿法,有好的建议大家也可以私信我,希望一群拥有共同爱好的人可以为共同的爱好出一点儿力。