同源策略的限制小结

最近一直在考虑js的跨域问题,做好了JSONP方法之后对跨域的产生原因以及其限制范围产生了一定的疑惑,看了很多资料,所以打算写一篇小结来对其进行总结。

同源策略的含义

同源是指‘三个相同’:

  1. 协议相同
  2. 域名相同
  3. 端口相同
    举例来说,http://www.example.com/dir/page.html 这个网址,协议是http://,域名是www.example.com,端口是80(默认端口可以省略)。它的同源情况如下:
  4. http://www.example.com/dir2/other.html:同源
  5. http://example.com/dir/other.html:不同源(域名不同)
  6. http://v2.www.example.com/dir/other.html:不同源(域名不同)
  7. http://www.example.com:81/dir/other.html:不同源(端口不同)

同源的目的以及限制

举个例子:
比如一个恶意网站的页面通过iframe嵌入了银行的登录页面(二者不同源),如果没有同源限制,恶意网页上的javascript脚本就可以在用户登录银行的时候获取用户名和密码。
在浏览器中,script,img、iframe、link等标签都可以加载跨域资源,而不受同源限制,但浏览器限制了JavaScript的权限使其不能读、写加载的内容。

同源策略的作用范围

同源策略限制了客户端javascript代码的部分行为

  1. Cookie、LocalStorage 和 IndexDB 无法读取。
  2. DOM 无法获得。
  3. AJAX 请求不能发送。

参考文章

  1. 浏览器同源政策及其规避方法
  2. 同源策略和跨域访问
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 作者:阮一峰 日期:2016年4月 8日 浏览器安全的基石是"同源政策"(same-origin policy)。...
    起名字太累阅读 660评论 0 1
  • 题目1: 什么是同源策略 同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜...
    DCbryant阅读 1,050评论 0 1
  • 35岁之前最有价值的投资,就是自己。——送给35岁前还在迷茫的朋友 序 在写这篇文章的时候恰恰是我在职场上最迷茫的...
    云间互联阅读 183评论 0 0
  • 有个老人去找弗兰克尔咨询,他很痛苦,觉得自己无法承受妻子死亡的伤痛。弗兰克尔问他:如果你比妻子先死,你的妻子会怎样...
    杨颖__指数成长阅读 570评论 1 3