JavaScript 的同源策略

admin3个月前软件教程35

JavaScript的同源策略是Web开发中一个十分重要的安全措施。它指的是,两个文档或脚本只有在协议、主机名和端口这三个信息都相同的情况下,才具有相同的源。其他情况下,它们就被认为是异源(跨源)的,JavaScript的访问就会受到限制,以防止未经授权的信息全球公开。

同源策略的限制主要针对以下三个方面:

  • Cookie、LocalStorage及IndexDB等存储性数据
  • DOM节点
  • Ajax等发送网络请求的方法

举个例子,假如有两个网页a和b,它们的本地存储均有以下操作:

localStorage.setItem('key', 'value');localStorage.getItem('key');

在同源的情况下,这两个操作可以互相访问,而在不同源的情况下,这两个操作将无法访问对方的本地存储,因为这样做会导致安全风险。在实际开发中,我们常常会面临这样的问题:如何与其他域的服务器进行通信?

解决方法就是,使用JSONP技术。JSONP可以破解跨域限制,它的原理是利用