首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
为什么要有同源限制?
[问答题]
为什么要有同源限制?
添加笔记
求解答(2)
邀请回答
收藏(152)
分享
纠错
3个回答
添加回答
1
太阳煮的酒
限制不同源的document或脚本之间的相互访问,以免造成干扰和混乱。
发表于 2019-10-15 18:37:47
回复(0)
1
小牛牛天天快乐
:同源策略是客户端脚本(尤其是Javascript)的重要的安全度量标准。它最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。
这里的同源指的是:同协议,同域名和同端口。
在普通的Javascript应用中,我们可以修改Frame的href,或者IFrame的src,以实现GET方式的跨域提交,但是却不能访问跨域的Frame/IFrame中的内容。
而Ajax它通过XMLHTTP进行异步交互,这个对象同样能够与远程的服务器进行信息交互,而且更加危险的是,XMLHTTP是一个纯粹的Javascript对象,这样的交互过程,是在后台进行的,不被用户察觉。因此,XMLHTTP实际上已经突破了原有的Javascript的安全限制。
如果我们又想利用XMLHTTP的无刷新异步交互能力,又不愿意公然突破Javascript的安全策略,可以选择的方案就是给XMLHTTP加上严格的同源限制
IFrame的限制还仅仅是不能访问跨域HTMLDOM中的数据,而XMLHTTP则根本上限制了跨域请求的提交。
避免同源策略:
JSON和动态脚本标记
<script type="text/javascript"
src="http://travel.com/findItinerary?username=sachiko&
reservationNum=1234&output=json&callback=showItinerary" />
当 JavaScript 代码动态地插入 <script> 标记时,浏览器会访问 src 属性中的 URL。这样会导致将查询字符串中的信息发送给服务器。
发表于 2015-10-19 23:15:07
回复(0)
0
柠小哀
同源策略的本质是一种约定 可以说web的行为就是构建在这种约定之上的 就好比我们人类的行为必须受到法律的约束一样 同源策略的目的就是限制不同源的document或者脚本之间的相互访问 以免造成干扰和混乱
发表于 2019-05-03 22:34:39
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Javascript
上传者:
匹诺曹
难度:
3条回答
152收藏
8322浏览
热门推荐
相关试题
ajax原理、如何实现刷新数据及优点?
迅雷
Javascript
评论
(7)
如图 1 表示使用快表(页表)的虚...
编程基础
评论
(1)
对于我们来说,谁是好的顾客?
销售常识
评论
(1)
MySQL中执行 SELECT I...
SQL
评论
(1)
订单表order_table全部记...
查找
数据库
数据分析
SQL
评论
(2)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题