gpt4 book ai didi

security - 当前端/后端位于两个不同的域时,CSRF 保护如何为我提供比 CORS 控制更高的安全性?

转载 作者:行者123 更新时间:2023-12-02 00:28:59 25 4
gpt4 key购买 nike

如果我有:

  • 一个域上的网络前端。
  • 另一个域上的 REST API。
  • 通过将 header Access-Control-Allow-Origin 设置为 Web 前端域,将 REST API 服务器配置为仅允许来自 Web 前端域的跨源请求。

除了需要跨越更多的障碍之外,CSRF 还提供哪些额外的安全性?如果不先将代码注入(inject)到 Web 前端,攻击者就无法 POST 到我的后端,对吗?

On this question ,Chris Pratt 说,“[...]所以,是的,我认为原则上任何 API View 都应该免除 CSRF。[...]”。这个概念有效吗?它包含我的拓扑吗?

在我的配置中,正确配置 CORS 后,我是否需要装饰 GETPOSTPUTDELETE 来自 Web 前端的带有 Cookie 和数据元素 CSRF token 的请求?

:
开明的人可能会认为这个问题是重复的,但我已阅读this , this , this , this , this , this ,和 this ,我还需要一些帮助。请帮助我进一步充实这个想法。

最佳答案

在从域加载的页面上下文中,CORS 仅控制浏览器是否可以读取来自另一个域的 XHR 响应。它不控制浏览器可以向哪些域发出请求。。即CORS会放宽Same Origin Policy对于 header 设置的任何源 - 但同源策略中没有任何内容表明不能首先发出请求。

其他域仍然可以 GET 和 POST 到您的域,只是您的网站生成的任何响应都无法在客户端脚本中读取,除非 CORS 允许。 The actual GET and POST is still received by your server and processed .

因此,您仍然需要 CSRF 防护 - 即使对于使用 CORS 兼容浏览器的用户也是如此。

关于security - 当前端/后端位于两个不同的域时,CSRF 保护如何为我提供比 CORS 控制更高的安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29350797/

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