微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – XHR跨域限制的目的是什么?

我一直想知道XHR跨域限制的目的是什么.

似乎目的是防止恶意注入Javascript向攻击者发送私人数据.但是,使用注入的脚本或img标记(或任何其他外部资源)可以轻松地将数据发送到任何域.

最佳答案
如果任意网站可以对您的网站进行XHR调用,则可能发生以下情况:

>无辜的用户Alice登录您的安全网站并获取安全会话cookie.
>在另一个浏览器标签中,Alice访问了Bob的邪恶黑客网站(她认为这只是一个Justin Bieber视频)
> Bob的页面向您的安全网站发出XHR.如果没有跨域策略,浏览器会向您的网站发出请求 – 包括安全会话cookie – 并检索结果.这些结果可能包括Alice登录到您的安全站点时可用的任何内容.

事实上,即使使用跨域策略,Bob的邪恶网站实际上可以通过发布表单向您的服务器发送HTTP请求.它将无法看到结果,但如果Bob很聪明,他可能在您的网站中发现了一个URL,允许来自POST的某些活动,即使它不是来自您的某个页面上的表单.这就是跨站请求伪造,这是浏览器无法保护您的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐