浏览器安全-同源策略

同源策略

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

浏览器的同源策略,限制了来自不同源的“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文件

转载于:https://my.oschina.net/bosscheng/blog/131327

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值