您的位置:首页 > 理论基础 > 计算机网络

浏览器安全-同源策略

2013-05-16 00:00 316 查看

同源策略

同源策略是一种约定,它是浏览器最核心也是最基本的安全功能。

浏览器的同源策略,限制了来自不同源的“document”或脚本,对当前“document”读取或设置某些属性。

---------------------------------------------邪恶的分割线--------------------------------------------

对于影响到“源”的因素有

host(域名或IP地址,如果是IP地址则看做一个根域名)

子域名

端口

协议

-------------------------------------------邪恶的分割线---------------------------

在浏览器中,对于标签 <script> , <img>, <iframe> , <link> 等标签都可以跨域加载资源,而不受同源策略的限制。这些带有“src”属性的标签每次加载的时候,实际上是由浏览器发起一个get请求。

不同于XMLHttpRequest的是,通过src属性加载的资源,浏览器是限制了javascript的权限,使其不能够读写返回的内容。

对于XMLHttpRequest来说,它可以访问来自同源对象的内容。但是不能够访问跨域访问资源,所有在ajax开发中尤其需要注意这点。

在w3c委员会制定了XMLHttpRequest跨域访问标准。他需要通过目标域返回的HTTP头授权是否允许跨域访问,因为HTTP头对于javascript来说一般是无法控制的,所以认为这个方案是可行的。

对于浏览器来说:除了DOM、Cookie、XMLHttprequest会受到同源策略的限制外,浏览器加载的第三方插件也有各自的同源策略。例如:flash,java applet,silverlight,coogle gears等

ps:对于flash,主要是检查目标文件提供的crossdomain.xml文件判断是否允许当前的“源”的flash跨域访问目标资源。在flash9之后,还添加了MIME检查以确认crossdomain.xml是否合法。

例如“人人网”的crossdomain.xml文件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络安全