美文网首页
浏览器同源策略是什么?没有同源策略会怎么样?

浏览器同源策略是什么?没有同源策略会怎么样?

作者: logoss | 来源:发表于2019-03-19 19:57 被阅读0次

同源策略,它是由Netscape提出的一个著名的安全策略。
现在所有支持JavaScript 的浏览器都会使用这个策略。

同源的定义

同源是指域名,协议,端口三个都相同。
下面的网站同源吗?

  1. http://www.jianshu.comhttp://jianshu.com
    不同源,因为域名不同
  2. http://www.bilibili.tvhttp://www.bilibili.com
    不同源,因为域名不同
  3. http://localhost:3000http://localhost:3001
    不同源,因为端口不同
  4. http://qq.comhttps://qq.com
    不同源,因为协议不同
  5. https://www.pixiv.nethttps://www.pixiv.net/manage/illusts/
    同源,因为域名,协议,端口都相同

不同源会怎么样?

对于js脚本有限制。
主要表现在3点
(1) 无法用js读取非同源的Cookie、LocalStorage 和 IndexDB 无法读取。
(2) 无法用js获取非同源的DOM 。
(3) 无法用js发送非同源的AJAX请求 。更准确的说,js可以向非同源的服务器发请求,但是服务器返回的数据会被浏览器拦截。

是谁来执行同源策略的?

同源策略是由浏览器来执行。所有的限制都是浏览器的作用。这是浏览器为了保护用户的数据安全而采取的策略。

同源策略如何保护用户数据安全?没有同源策略会怎么样?

同源策略对于js的限制有3点,我们一点一点来说。

(1) 无法用js读取非同源的Cookie、LocalStorage 和 IndexDB 无法读取。

这条很好理解。
为了防止恶意网站通过js获取用户其他网站的cookie。

(2) 无法用js获取非同源的DOM 。

如果没有这一条,恶意网站可以通过iframe打开银行页面,可以获取dom就相当于可以获取整个银行页面的信息。

(3) 无法用js发送非同源的AJAX请求 。

这一条我一开始也没搞懂为什么。如果没有这一条会有什么危害?
看了这篇文章后我终于懂了https://blog.csdn.net/hcrw01/article/details/84289109
我把这部分复制过来放在这里。

假设有一个黑客叫做小黑,他从网上抓取了一堆美女图做了一个网站,每日访问量爆表。
为了维护网站运行,小黑挂了一张收款码,觉得网站不错的可以适当资助一点,可是无奈伸手党太多,小黑的网站入不敷出。
于是他非常生气的在网页中写了一段js代码,使用ajax向淘宝发起登陆请求,因为很多数人都访问过淘宝,所以电脑中存有淘宝的cookie,不需要输入账号密码直接就自动登录了,然后小黑在ajax回调函数中解析了淘宝返回的数据,得到了很多人的隐私信息,转手一卖,小黑的网站终于盈利了。
如果跨域也可以发送AJAX请求的话,小黑就真的获取到了用户的隐私并成功获利了!!!

如何跨域请求

这篇主要讲为什么要有同源策略。
至于怎么跨域访问,常用的方法有CORS,JSONP和iframe。
搜索跨域请求有很多文章。

相关文章

  • 同源策略 & 跨域

    同源策略 1.浏览器同源策略 同源策略(Same Origin Policy,SOP)也叫单源策略(Single ...

  • 跨域

    同源策略 1 . 含义1995年,同源策略由netscape公司引入浏览器,目前,所有浏览器都实行这个策略。同源的...

  • 同源策略&跨域

    同源策略&跨域 什么是浏览器同源策略? 同源策略(Same Origin Policy,SOP)也叫单源策略(Si...

  • 跨域

    同源:域名、协议、端口完全相同。(同源策略:浏览器的安全策略。) 跨域:浏览器对于javascript的同源策略的...

  • 同源与跨域(一)

    参考:浏览器的同源策略浏览器同源政策及其规避方法同源政策 什么是同源策略? 同源策略限制了从同一个源加载的文档或脚...

  • 浏览器的同源策略详解

    一、同源策略 同源策略是一种约定,是浏览器最核心也最基本的安全功能,主要体现在同源策略会限制来自不同源的文档和脚本...

  • JSONP_跨域

    题目1: 什么是同源策略 同源策略(Same origin Policy)同源策略是指浏览器出于安全方面的考虑,只...

  • Nginx解决跨域问题

    同源策略 同源策略是浏览器最基本的安全策略,在同源策略下,当本域发起跨域请求时,客户端会限制加载响应的数据。这也就...

  • AJAX跨域简单请求和非简单请求

    首先我们要先知道什么是同源策略,跨域就是因为同源策略导致的 1.为什么要有同源策略 浏览器设置同源策略只是为了完全...

  • jsonp系列(二)jsonp的原理与实现方式

    在介绍jsonp之前,先来聊一聊浏览器的同源策略。 关于同源策略的由来 1995年,同源策略被引入到浏览器中,其目...

网友评论

      本文标题:浏览器同源策略是什么?没有同源策略会怎么样?

      本文链接:https://www.haomeiwen.com/subject/gkqimqtx.html