关于同源策略的解释

什么是同源策略

  目前所有浏览器都在实行这个策略,它的含义是A网站设置的cookie,B网页不能够去访问,除非两个网页同源,所谓同源指的是三个相同,即协议相同,域名相同,端口相同,三个条件缺一不可,下面举例说明:

  现有一个网站url为:http://www.baidu.com/1.html(http为协议,www.baidu.com为域名,端口默认80省略)

  1.http://baidu.com/1.html:不同源,域名不同

  2.http://www.baidu.com/2.html:同源

  3.http://bilibili.com/1.html:不同源,域名不同

  4.http://www.baidu.com:8080/1.html:不同源,端口不同

  5.https://www.baidu.com/1.html:不同源,协议不同

同源策略的目的

  为了保证用户的信息安全,防止网页窃取用户的隐私数据,cookie往往储存用户的敏感信息,也往往保存用户的登录状态,如果用户在A网站登录,没有退出登录的情况下,再去访问B网站,如果B网站可以读取A网站的cookie,那么就可以冒充A网站用户的身份进行危险操作。

  如果不满足同源策略,两个网站将会受到以下限制:

  1.Cookie,Localstorage,IndexDB不能共享

  2.DOM不能获取

  3.AJAX请求不能发送

同源策略所产生的的“跨域”问题

  虽然同源策略提供了安全性,却大大损失了浏览器的灵活性,在引用资源问题上变得复杂,所以为了平衡安全性和灵活性,同源策略作出了让步,即通过一些方法可以实现跨域的同时,又不违反同源策略,例如JSONP跨域,CORS(cross-origin recourse sharing)跨域资源共享机制。

JSNOP跨域

后续补充

posted @ 2023-03-22 09:41  四下无人  阅读(96)  评论(0)    收藏  举报