javascript同源策略

来源:互联网 发布:广州数据恢复都在哪里? 编辑:程序博客网 时间:2024/05/05 23:37

本文根据其他文章做修改和补充。

一、同源策略的产生

JS可以读取/修改网页的值。

一个浏览器中,打开一个银行网站和一个恶意网站,如果恶意网站能够对银行网站进行修改,那么就会很危险。

你打开了恶意网站和另一个网站,如果没有同源限制,该恶意网站就可以构造AJAX请求频繁在另一个网站发广告帖。

同源策略就是为了解决这类问题而出现的。

二、什么是同源策略(举例)

同源策略,即拥有相同的协议(protocol),端口(如果指定),主机(域名)的两个页面是属于同一个源。

然而在IE中比较特殊,IE中没有将端口号加入同源的条件中,因此上图中端口不同那一项,在IE中是算同源的

三、不遵循同源策略的标签

<script>  <img>  <iframe>中的src,href都可以任意链接网络资源,相当于对所要求的源进行了一次请求。

四、源继承

来自about:blank,javascript:和data:URLs中的内容,继承了将其载入的文档所指定的源,因为它们的URL本身未指定任何关于自身源的信息。

五、变更源

假设在 http://store.company.com/dir/other.html 中的一个脚本执行了下列语句:

document.domain = "company.com";

这条语句执行之后,页面将会成功地通过对 http://company.com/dir/page.html 的同源检测。而同理,company.com不能设置 document.domain 为 othercompany.com.




0 0
原创粉丝点击