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

zz/2023/9/24 8:28:07
同源策略

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

同源

同源即 同协议,端口,域名

同源策略的限制
  1. 不能获取不同源的cookie,LocalStorage 和 indexDB
  2. 不能获取非同源的DOM
  3. 不能发送非同源的ajax请求。(准确说应该是可以向非同源的服务器发起请求,但是返回的数据会被浏览器拦截)
同源策略由浏览器执行

所有的限制都是因为浏览器的作用,这是因为浏览器为保护用户隐私而才去的措施。

为什么要有同源策略

采用同源策略主要是因为安全。若非同源下的cookie等隐私数据可以被随意获取,非同源下的DOM可以的随意操作,ajax可以任意请求的话,用户的各种隐私势必泄露。

再来细说一下同源策略的限制
  1. 不能获取不同源的cookie,LocalStorage 和 indexDB
这个东西很好理解,是为了防止恶意网站获取用户其他网站的cookie数据
  1. 不能让获取非同源的DOM
如果没有这一条,恶意网站可以通过iframe打开银行页面,可以获取dom就相当于可以获取整个银行页面的信息。
  1. 不能发送非同源的ajax请求。
    看个大佬写的小案例 链接
    在这里插入图片描述

http://www.ngui.cc/zz/2543045.html

相关文章

webview轮播图与Android滑动冲突的解决办法

在Android中我们经常需要左右滑动,其中内嵌的web页面也有滑动动作。轮播图举例:需要左右翻页时,会触发Android中的ViewPager导致翻页到另一个页面轮播图翻页翻不动,或失效。但是由于安卓是父,而Web是子。在Web中不论你…

Android:webview取消滚动条

webView.setHorizontalScrollBarEnabled(false);//水平不显示 webView.setVerticalScrollBarEnabled(false); //垂直不显示 ​​​​​​​

MongoDB分片集群命令

#添加分片 db.runCommand( {addshard : "shardWlinkRep1/127.0.0.1:37017,127.0.0.1:37017,127.0.0.1:37017",name:"shard1"} ) #删除分片 db.runCommand( { removeShard : "shard2"} ) (1)如果balance开始,查看是否正在有数据迁移…

PayPal支付开发(Vue.js -- node.jsKoa2)

补充一下:想选择Paypal做支付的,慎选,由于网络服务器网速原因访问部分网站网速极其的慢,他的支付网站还设置timeout过时,导致跳转到他的支付页 资源都没全部拉取下来就timeout掉了。有段时间情况好一点,有段…

Mongodb设置数据过期自动删除

1.今天要做一个验证码一样的东西,让用户通过校验。 下面这段是设置以createTime为过期时间的索引,意思就是一条数据以其中createTime的字段时间为准,超过该字段时间将这条数据删除。 {expireAfterSeconds:0} 设置为0 时间一到立马删除。 …

Ubuntu 18.04服务器安装MongoDB

1.导入包管理系统使用的公钥。 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 执行此命令,如果收到的是OK就是正常的。但是,如果收到指示gnupg未安装的错误,则可以: //如果反馈不是OK 则…

Crypto aes-128-cbc加密

1.crypto (node.js) 1.1 加密 var key 2cef781a9c0411eb var str JSON.stringify({ "ip": "192.168.12.1", "mac": "80:3F:5D:0E:04:2B", "wan_ip": "0.0.0.0", "internet"…

Electron: 渲染进程开启子线程 Worker

在Vue中需要使用例外的线程去执行轮询的任务,这里以获取网卡信息为例。 注:这里是在Electron中使用的,可以使用Node.js实例 “child_process”,如果是纯Vue工程无法使用Node实例。 1.创建一个renderer.js文件,放在public静态文…

vue前端遮罩层问题

在Vue的开发中,一旦我们用到对话框,经常出现的问题是对话框被遮罩层挡住,无论是Element-UI dialog还是bootstrap的Modal,如下图所示:造成这个问题的原因是对话框组件的父元素的position有fixed或者relative值&#xff…

字符串常用的14种方法,记得关注收藏

字符串常用的14种方法,记得收藏 1、将字符串转换成char数组 ToCharArray() 2、将char数组转换成字符串 new string(char[]); 3、将字符串转换成小写 ToLower() 4、将字符串转换成大写 ToUpper() 5、比较两个字符串的时候,忽略大小写 S1.Equals(s2,…); 6…