JavaScript:同源策略

来源:互联网 发布:ppt淘宝宝贝属性怎么填 编辑:程序博客网 时间:2024/05/18 09:09

  同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。

示例:来自http://blog.csdn.net/JavaScript/a.html的js脚本访问下列url的结果和原因

URL

结果

原因

http://blog.csdn.net/JavaScript/a.html 

 成功 

 同源

http://blog.csdn.net/Jquery/b.html

 成功

 同源

https://blog.csdn.net/HTML/c.html

 失败

 协议不同

http://blog.csdn.net:8081/CSS/d.html

 失败

 端口不同

http://www.iteye.com/AngularJs/e.html    

 失败

 主机名不同   

 

下面列举四种方法解决同源策略的问题:

1.某两个具有相同的一级域名的二级域(如www.wrox.com和p2p.wrox.com)下的页面之间的互相访问
  document对象引进了一个属性叫domain,通过将这个属性设置成指向同一个域名可以满足上面的需求,例如将www.wrox.com页面中的document.domain设置为:

document.domain=wrox.com;
p2p.wrox.com页面中的document.domain设置为:
document.domain=wrox.com;
www.wrox.com和p2p.wrox.com之间就可以通信了。

2、CORS(跨源资源共享)

 JavaScript:CORS(跨源资源共享)

3、图片ping

 JavaScript:图像ping

4、JSONP

 JavaScript:JSONP


0 0