了解浏览器的安全机制-同源策略

 

  同源策略是一种共识,是浏览器最核心的部分,web是构建在同源策略基础之上的,他限制了来自不同源的脚本或document 对当前document读取或设置某些属性,浏览器提出“Orign”的概念,来自不同Orign的对象无法互相干扰

url 是否同源 原因
http://www.fang.com/a   对比基准
http://www.fang.com/b  
https://www.fang.com/c 不是 协议不同
http://www.fang.com:81/d/ 不是 端口不同
http://www1.fang.com/e 不是 域名不一样

影响源的因素:host 子域名  端口  协议

 

如果   www.fang.com 通过以下的代码

<script src=http://img.fang.com/b.js ></script>

加载了img.fang.com 上的b.js 但是 b.js 是运行在www.fang.com 上的,那么对于当前页面来说 b.js 的 orign就应该是www.fang.com 而不是 img.fang.com

<script><img><iframe><link>等标签都已跨域加载资源,而不受同源策略的影响,浏览器限制了这些资源的javascript 的权限,使其不能读、写返回的内容。

XMLHttpRequest 也可以跨域访问,但是必须通过目标与返回http 头 来授权是否允许跨域访问。

Flash 是通过目标站点的crossdomain.xm 来判断当前的源是否能跨域访问

 

posted @ 2016-08-05 10:28  房天下问答  阅读(149)  评论(0编辑  收藏  举报