浏览器的同源策略
源的含义
- 源指源头,信息来源的位置。源是由协议、主机名、端口名组成的
- 范例:协议://主机名:端口号/
同源策略
- 协议、主机名、端口号完全一致则为同源
- SOP,用于阻止一个非同源的页面恶意代码去访问另一个非同源页面
只有两个页面属于同一个源才能互相访问,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。故a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的。
例如:源A页面要访问源B页面认证cookie,如果不加阻止读取cookie,会造成cookie欺骗绕过登录验证。
IE源的特殊处理
- 位于可信域的互信的域名间,不受同源策略限制
- IE在判断同源时不考虑端口
document.domain
- domain属性可以解决因同源安全策略代理的不同文档的属性共享问题
- 不同子域实现通信,可设置该参数为同一域