一.什么是同源策略
同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript 的浏览器都会使用这个策略,可以说同源策略是浏览器最核心也是最基本的安全功能。
所谓同源是指,域名,协议,端口相同。这一策略极为重要,试想如果没有同源策略,可能a.com的一段javascript脚本,在b.com未曾指定加载该脚本时,也可以在b.com的页面中执行该javascript脚本的话,那后果不堪设想。同源策略正是因为这个问题产生,使来自不同源的对象无法相互干扰。
对于javascript脚本来说,以下情况是同源与不同源。
对于URL:http://www.huhao.com/abc/123.html来说 结果 原因 http://www.huhao.com/bcd/456.html 同源 同主机,域名,协议,端口
http://www.huhao.com:81/abc/124.html 不同源 不同端口
https://www.huhao.com/ bcd/123.html 不同源 不同协议
http://news.huhao.com/abc/123.html 不同源 不同主机名
通过上述例子是不是可以直观的理解同源策略呢
二: 同源策略的用法
提前说一点,对于当前页面来说,页面内存放javascript文件的域并不重要,重要的是加载javascript页面所在的域是什么。
a.com通过以下代码:
<script src=http://b.com/b.js></script>
来加载b.com上的b.js,但是b.js是运行在a.com页面中的,因此对于当前页面a.com来说,b.js的源就是a.com自己,而不是b.com!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。