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

前端之家收集整理的这篇文章主要介绍了javascript – XHR跨域限制的目的是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

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

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

猜你在找的JavaScript相关文章