小编典典

了解AJAX CORS和安全注意事项

ajax

我试图了解为什么CORS会以其有效的方式工作。

当我从了解到这个职位,当从网页 **www.a.com 使得AJAX请求 **www.b.com
,那么它的 **www.b.com** 是决定是否请求应该被允许。

但是,在这种模式下,客户究竟能获得什么保障呢?例如,如果黑客成功将XSS脚本注入到我的页面,那么它将向其域发出AJAX请求以存储用户数据。因此,黑客的域肯定会允许这样的请求。

我认为 **www.a.com 应该决定允许请求访问的域。因此,从理论上讲,我想在标头 Access-Control-Allow-Origin**
中放入AJAX CORS请求允许的域的整个列表。

有人可以解释一下当前CORS实现所处理的安全问题吗?


阅读 267

收藏
2020-07-26

共1个答案

小编典典

当我从这篇文章中,了解到当页面从www.a.com品牌AJAX请求www.b.com,那么它的www.b.com那个决定是否请求应该被允许。

不完全的。该请求未被阻止。

默认情况下,运行的JavaScript www.a.com禁止访问的响应www.b.com

CORS允许www.b.com授予JavaScript www.a.com访问权限。

但是,在这种模式下,客户究竟能获得什么保障呢?

它使作者的访问者www.a.com无法www.b.com使用访问了两个站点并通过身份验证www.b.com(因此可以访问非公开数据)的用户的浏览器读取数据。

例如,爱丽丝已登录Google。爱丽丝访问malicious.example使用XMLHttpRequest从中访问数据gmail.com。爱丽丝(Alice)有一个GMail帐户,因此响应中的收件箱中包含最近的电子邮件列表。相同的原始策略会阻止malicious.example读取它。

例如,黑客成功将XSS脚本注入到我的页面,然后向其域发出AJAX请求以存储用户数据。因此,黑客域将肯定允许此类请求。

正确。XSS是另一个安全问题,需要从源头(即在www.a.com浏览器中而不是浏览器中)解决。

2020-07-26