javascript 同源策略

何为同源策略?



  同源策略是对javascript 代码能狗操作那些web内容的一条完整的安全限制。当web页面使用多个iframe 元素或者打开多个窗体的时候,这一策略就会发生作用。



理解同源策略:脚本来源和文档来源。

    脚本来源:<script> javascript  src="http(s)://..." 来源。

文档来源:包含:协议,主机,以及载入文档的URL端口号。从不同的web服务器载入的文档具有不同的来源。

理解这两点很重要。



文档来源:1、通过同一主机的不同端口载入的文档具有不同的来源。

           2、通过http和https在同一服务器载入文档具有不同的来源。

3、以上三点均不能一样。



脚本来源:1、来自主机A的脚本被包含到主机B的<script>中的web中个,这个脚本的来源是B,

                          2、脚本打开一个新窗体,载入主机B的文档,脚本具有完全的访问权。

3、脚本打开一个新窗体,载入主机C的文档,同源策略会阻止脚本访问这个文档。



同源策略适应几乎所有的javascript对象属性。



? 1 同源策略会给多子域的大站点带来麻烦。

1、载入其他子域名下的文档。document层次改变domain,例如:home.example.com, domain 可以设置为:example.com,即可。

              把要访问的另一个文档的脚本设置同一个domain.

2、跨域资源共享(Cross-Origin Resource Sharing),参见:跨域资源

3、跨文档消息(cross-document messing)。



Code: 各位看官,我理解后再写。。。

时间: 2024-10-14 18:11:22

javascript 同源策略的相关文章

javascript同源策略及解决

一.简介 跨域:浏览器中输入的地址与服务器内部请求资源的地址不同,即地址的协议.IP或域名.端口中的任何一个不相同都属于跨域. JavaScript同源策略:javascript不允许跨域请求,即javascript中的请求地址与浏览器中输入的地址不同域. 二.解决 网上有实现跨域请求的方法,这里我就大概归个类: 1.避免跨域:重新修改请求策略,使其不跨域. 2.同意跨域:设置代理服务器(如nginx)可以实现跨域请求,但是不建议这样做,因为跨域请求会涉及安全问题(js嵌入跨域攻击).

javascript 同源策略及web安全

同源策略限制一个加载于A origin的document或者script能够如何和来自于另外一个origin的resource交互.同源策略是隔离潜在恶意网页的安全机制. 源的定义 两个网页只有具有相同的protocol,port以及host才被认为是具有相同的origin的. 比如http://xxx.yyy.com:8000/zzz/page.html和http://xxx.yyy.com:8000/kkk/index.html具有相同的origin about:blank, javascr

JavaScript——同源策略

概念:同源策略是客户端脚本(尤其是Javascript)的重要的安全度量标准.它最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载.   这里的同源指的是:同协议,同域名和同端口.精髓:   它的精髓很简单:它认为自任何站点装载的信赖内容是不安全的.当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源.为什么要有同源限制?   我们举例说明:比如一个黑客程序,他利用IFrame把真正的银

JavaScript同源策略

在web页面的开发中我们经常会说起脚本的跨域访问的问题,这个问题的始作俑者就是javascript语言安全限制中的同源策略(same-origin policy )所造成的. 同源策略简单的说就是一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名.协议和端口号的组合: 示例:来自 http://www.360.cn/a/b.html 的js脚本访问下列url的结果和原因 URL 结果 原因 http://www.360.cn/c/d.html         成功 ht

JavaScript 的同源策略

本文内容来源:https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy (由于我在本地打不开此链接,所以就转载过来.供大家一起学习) 同源策略限制了一个源(origin)中加载文本或脚本与来自其它源(origin)中资源的交互方式. 同源定义 如果两个页面拥有相同的协议(protocol),端口(如果指定),和主机,那么这两个页面就属于同一个源(origin). 下表给出了相对http://store.com

JavaScript中的同源策略

我们都知道JavaScript可以操作web文档的内容,试想,如果不对这一点加以限制,那么JS可以做的事情就太多了,危险性也太高,所以就针对它可以操作哪些文档的内容有了一个限制,这个限制就是同源策略. 同源策略在什么情况下会起作用呢?当web页面使用多个<iframe>元素或者打开其他浏览器窗口的时候,这一策略就会起作用. 同源策略的含义:脚本只能读取和所属文档来源相同的窗口和文档的属性. 这里就涉及到了一个浏览器如何判断两者是否同源已经如何判断脚本来源的问题. 注意一点:脚本本身的来源并不作

[转]JavaScript 的同源策略

同源策略限制了一个源(origin)中加载文本或脚本与来自其它源(origin)中资源的交互方式. 同源定义 如果两个页面拥有相同的协议(protocol),端口(如果指定),和主机,那么这两个页面就属于同一个源(origin). 下表给出了相对http://store.company.com/dir/page.html同源检测的示例: URL 结果 原因 http://store.company.com/dir2/other.html 成功   http://store.company.com

同源策略和跨域问题

1 同源策略 所谓同源策略,指的是浏览器对不同源的脚本或者文本的访问方式进行的限制.比如源a的js不能读取或设置引入的源b的元素属性. 那么先定义下什么是同源,所谓同源,就是指两个页面具有相同的协议,主机(也常说域名),端口,三个要素缺一不可. 可以看下面的几个示例来更加清楚的了解一下同源的概念: URL1 URL2 说明 是否允许通信 http://www.foo.com/js/a.js http://www.foo.com/js/b.js 协议.域名.端口都相同 允许 http://www.

同源策略和跨域-总结

目录: 1.同源策略 2.跨域 3.几种跨域技术 1.同源策略 什么叫同源? URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源.相反,只要协议,域名,端口有任何一个的不同,就被当作是跨域. e.g. 对于http://store.company.com/dir/page.html进行同源检测: URL 结果 原因 http://store.company.com/dir2/other.html 成功 仅路径不同 http://store.company.c