浏览器安全-同源策略
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文件
![](http://static.oschina.net/uploads/space/2013/0516/164323_XkNw_1037170.jpg)
相关文章推荐
- 同源策略以及cookie安全策略
- 浏览器拦截跨域请求处理方法-firefox报错,同源策略不允许读取XXX上的远程资源
- 同源策略——浏览器安全卫士
- 解决浏览器同源策略导致的getImageData错误
- 浏览器拦截跨域请求处理方法(firebug报错,同源策略不允许读取XXX上的远程资源)
- CSP浏览器安全策略备忘
- 浏览器同源策略的行为限制以及规避方法
- 浏览器---同源策略控制
- 毁人不倦-令人困惑的浏览器安全策略:同源策略
- linux新加坡专有网络部署tomcat以后外部浏览器无法访问--专线网络安全组策略
- HSTS安全策略在浏览器中的应用
- 同源策略与安全
- 关于页面开发的安全,防止重复提交以及浏览器拦截策略
- 关于浏览器同源策略的一些小疑惑
- 浏览器特性与安全策略
- 同源策略——浏览器的安全卫士
- 同源策略 & 内容安全策略
- 信息安全策略之四:Password Policy
- 解决 在Mac OS下开发html5+JS Chrome 浏览器 跨域 和 安全访问问题
- Windows 2012 修改或取消密码安全策略