浏览器为了防止csrf(跨站请求伪造),NetScape提出的一个著名的安全策略:同源策略。所谓的同源,指的是协议,域名,端口相同。浏览器处于安全方面的考虑,只允许本域名下的接口交互,不同源的客户端脚本,在没有明确授权的情况下,不能读写对方的资源。
同源三要素
随着互联网的发展,"同源政策"越来越严格。目前,如果非同源,共有三种行为受到限制。
如果需要跨域请求,那么有如下几种方法:
如果两个网页一级域名相同,只是二级域名不同,浏览器允许通过设置document.domain共享 Cookie。
设置方法:
#两个网站设置相同的document.domain属性
document.domain = ‘example.com‘;
A网站设置cookie:
document.cookie = "test1=hello";
B网站访问cookie:
var allCookie = document.cookie; //可以获取到
注意:如果共享了cookie,也就意味着只要有一个网站被攻击成功,另一个网站的cookie也将被获取。有黑客论坛专门讲过从其他二级域名下手攻克网站的教程。
这种方法有一定局限性如下:
它的基本思想是,浏览器对于带有src的标签,不被同源策略限制,网页通过添加一个