gpt4 book ai didi

javascript - 了解 AJAX CORS 和安全注意事项

转载 作者:行者123 更新时间:2023-12-02 01:22:53 25 4
gpt4 key购买 nike

我试图理解为什么 CORS 会以这种方式工作。

正如我从 this post 学到的,当来自 www.a.com 的页面向 www.b.com 发出 AJAX 请求时,则由 www.b.com 决定是否应允许请求。

但是在这种模型中,客户端到底能得到什么保护呢?例如,如果黑客成功对我的页面进行 XSS 脚本注入(inject),那么它就会向他的域发出 AJAX 请求来存储用户数据。所以黑客的域名肯定会允许这样的请求。

我认为 www.a.com 应该决定允许请求发送到哪些域。因此,理论上,我想在 header Access-Control-Allow-Origin 中放置 AJAX CORS 请求允许的域的完整列表。

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

最佳答案

As I learned from this post, when page from www.a.com makes AJAX request to www.b.com, then it's the www.b.com that decides if request should be allowed or not.

不完全是。该请求未被阻止(至少,如果它是 simple )。

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

CORS 提供了一种方法,www.b.com 可以向 www.a.com 上的 JavaScript 授予访问响应的权限。

But what is exactly secured on client in such model?

它阻止 www.a.com 的作者使用访问过这两个网站且已访问过这两个网站的用户的浏览器从 www.b.com 读取数据。在 www.b.com 上进行身份验证(因此可以访问非公开的数据)。

例如,Alice 登录到 Google。 Alice 访问 malicious.example,它使用 XMLHttpRequest 访问来自 gmail.com 的数据。 Alice 有一个 GMail 帐户,因此响应中包含她收件箱中最新电子邮件的列表。同源策略可防止 malicious.example 读取它。

For example, hacker success to make XSS script injection to my page, then it makes AJAX request to his domain to store user data. So hackers domain will allow such request for sure.

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

关于javascript - 了解 AJAX CORS 和安全注意事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21854516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com