美文网首页
浏览器的同源策略

浏览器的同源策略

作者: 每天写写代码 | 来源:发表于2018-07-22 16:42 被阅读0次

同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是浏览器用于隔离潜在恶意文件的一个重要安全机制。

简单讲:浏览器限制来自不同地方的资源的信息共享,最大限度的防止出现恶意行为。

源的定义

如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源。
只要有一个不一致,都被认为是非同源。

下表给出了相对http://store.company.com/dir/page.html同源检测的示例:

URL 结果 原因
http://store.company.com/dir2/other.html 成功
http://store.company.com/dir/inner/another.html 成功
https://store.company.com/secure.html 失败 不同协议 ( https和http )
http://store.company.com:81/dir/etc.html 失败 不同端口 ( 81和80)
http://news.company.com/dir/other.html 失败 不同域名 ( news和store )

限制网络访问

同源策略会限制网络访问。

同源策略下只允许到不同源发送Post和Get请求,不允许发送Put和Delete请求。也不允许向不同的源发送自定义header,向自己的源发送自定义header是允许的。

但是,并不是完全这样。<script>标签访问的目标源的文件没有做限制,JSONP即是基于此而实现的。为了提高安全性,浏览器需要读取Access-Control-Allow-Origin:*,来确定源是否安全。

对浏览器存储的限制

存储在浏览器中的数据,如localStorageIndexedDB,以源进行分割。每个源都拥有自己单独的存储空间,一个源中的Javascript脚本不能对属于其它源的数据进行读写操作。

Cookies 使用不同的源定义方式。一个页面可以为本域和任何父域设置cookie,只要是父域不是公共后缀(public suffix)即可。Firefox 和 Chrome 使用 Public Suffix List 决定一个域是否是一个公共后缀(public suffix)。Internet Explorer使用其自己的内部方法来确定域是否是公共后缀。不管使用哪个协议(HTTP/HTTPS)或端口号,浏览器都允许给定的域以及其任何子域名(sub-domains) 访问 cookie。设置 cookie 时,你可以使用Domain,Path,Secure,和Http-Only标记来限定其访问性。读取 cookie 时,不会知晓它的出处。 即使您仅使用安全的https连接,您看到的任何cookie都可能使用不安全的连接进行设置。

参考

浏览器同源策略
Same Origin Policy

相关文章

  • 跨域

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

  • 跨域

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

  • 同源策略 & 跨域

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

  • 同源与跨域(一)

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

  • 跨域通信的几种方式

    一、浏览器的同源策略 1、什么是浏览器的同源策略 浏览器的同源策略:js脚本在未经允许的情况下,不能够访问其他域下...

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

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

  • WEB应用安全概述

    一. 浏览器安全策略 同源策略 浏览器的安全都是以同源为基础,它是浏览器最核心也最基本的安全功能 同源策略规定:不...

  • 同源策略&跨域

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

  • 前后端分离常见问题一:跨域

    跨域 浏览器的同源策略限制。同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的...

  • 使用Koa亲自体验跨域

    跨域问题的存在是因为浏览器都遵循同源策略 同源策略 1995年,同源政策由 Netscape 公司引入浏览器。目前...

网友评论

      本文标题:浏览器的同源策略

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