浏览器同源策略与跨域出现原因

什么是同源策略

  同源策略(Same origin policy)是一种约定,它是浏览器最核心的也是最基本的安全功能,web也是构建在同源策略基础上,浏览器只是针对同源策略的一种实现。

 它是由Netscape提出的一个著名的安全策略,目前支持JavaScript的浏览器都会使用找个策略。

什么是同源?

  同源:域名/端口/协议相同

  同源分为两种情况:1.dom的同源策略:禁止对不同页面的dom进行操作

            2.XMLHttpRequest同源:禁止使用XHR对象向不同源的ip发起http请求

为什么会出现跨域

  当浏览器的tab打开两个不同的网站页面,浏览器的1tab执行脚本时候会检查找个脚本属于哪个页面,检查域名/端口/协议是否一致,如果同源则执行,如果非一致,则会在控制台抛出异常。

这也得益于浏览器同源策略对用户安全信息的保护。

如何解决跨域问题

  1.由后端进行跨域配置(推荐)

  2.使用 反向代理

  3.websocket(天然跨域)

  

    

原文地址:https://www.cnblogs.com/yang656/p/10364649.html

时间: 02-12

浏览器同源策略与跨域出现原因的相关文章

同源策略和跨域-总结

目录: 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

第二百七十四节,同源策略和跨域访问

同源策略和跨域访问  什么是同源策略 尽管浏览器的安全措施多种多样,但是要想黑掉一个Web应用,只要在浏览器的多种安全措施中找到某种措施的一个漏洞或者绕过一种安全措施的方法即可.浏览器的各种保安措施之间都试图保持相互独立,但是攻击者只要能在出错的地方注入少许JavaScript,所有安全控制几乎全部瓦解--最后还起作用的就是最弱的安全防线:同源策略.同源策略管辖着所有保安措施,然而,由于浏览器及其插件,诸如Acrobat Reader.Flash 和Outlook Express漏洞频出,致使同

JS同源策略和跨域访问

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现. 1. 什么是同源策略 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略. 何谓同源: URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源. 同源策略: 浏览器的同源策略,限制了来自不同源的"doc

浏览器的同源策略和跨域问题

要理解跨域问题,必须得知道什么是同源策略. 什么是同源策略? 何谓同源:        URL由协议.域名.端口和路径组成. 如果两个URL的协议.域名和端口相同,则表示他们同源.同源策略:        浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性.         从一个域上加载的脚本不允许访问另外一个域的文档属性. 举个例子:        比如一个恶意网站的页面通过iframe嵌入了银行的登录页

同源策略和跨域问题

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

谷歌、火狐浏览器下实现JS跨域iframe高度自适应的完美解决方法,跨域调用JS不再是难题!

谷歌.火狐浏览器下实现JS跨域iframe高度自适应的解决方法 导读:今天开发的时候遇到个iframe自适应高度的问题,相信大家对这个不陌生,但是一般我们都是在同一个项目使用iframe嵌套页面,这个ifame高度自适应网上一搜一大把,今天要讲的如何在不同的网站下进行相互的调用跟在同一个网站下是一个效果:例如我在自己的项目里面Iframe  了第一博客的页面  http://www.diyibk.com/   当第一博客的页面高度变化了怎么通知父页面呢? 这个时候在谷歌下肯定是拿不到 ifram

【AD】【组策略】跨域转移组策略&可导入的组策略

跨域转移组策略&可导入的组策略 环境: AD PDC 均为:  Win2012 R2 客户端:Win7 x64 A 域:xifan.com B 域:abc.com 需求: 将A域的数个组策略,直接导入B域,简化B域组策略设置 操作步骤: 打开A域的PDC主机. 进入控制台-组策略管理-组策略对象: 导出图中所示所有组策略. 以"测试用-登陆脚本"为示例: 右击-备份 依次全部备份. 将其复制到B域abc.com的PDC内 新建数个组策略,命名与组策略完全一致. 右击登录脚本 注

造成跨域的原因和解决方法

浏览器的同源策略是浏览器上为安全性考虑实施的非常重要的安全策略. 从一个域上加载的脚本不允许访问另外一个域的文档属性. 举个例子:比如一个恶意网站的页面通过iframe嵌入了银行的登录页面(二者不同源), 如果没有同源限制,恶意网页上的javascript脚本就可以在用户登录银行的时候获取用户名和密码. 何谓同源:URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示它们同源. 在浏览器中,<script>.<img>.<iframe>.<

跨域访问和同源策略

因为在同一个浏览器窗口中能够同时打开多个网站的页面,而且它们都处于同一个会话中,如果不禁止跨域访问则会造成用户隐私数据泄露和登录身份冒用的问题,所以浏览器会使用同源策略限制跨域访问. 在浏览器中,通过JS代码访问不同域名下的URL或者iframe时,会被禁止访问.而不是通过JS代码进行的跨域访问不存在跨域问题!比如跨域加载图片,引用JS文件,下载各种文件,使用iframe跨域嵌入其他网站的页面都是可以的. 跨域访问被禁止有时会给应用开发带来阻碍,但在符合特定条件时也有相应的方法在保证安全的情况下

day 37 ajax跨域 浏览器同源测略

浏览器的同源策略 允许跨域: script img iframe 不允许跨域: ajax 跨域ajax <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>T1</h1> <input ty