1

由于 XSRF 验证涉及将 UI 请求中发送的 cookie/token 与作为同一请求的一部分的请求标头进行匹配,因此在本地进行测试的选项有哪些?因此,假设我在本地运行我的 UI,并且指向托管在不同位置的服务器,则 cookie 将永远无法在 localhost 上读取(因为它是不同的主机)。在这种情况下,最佳实践是什么 - 它是否在服务器上添加逻辑来识别 Origin 并绕过检查 Origin 是否为 localhost ?

4

1 回答 1

0

在这种情况下,我通常会/etc/hosts为我在本地运行的代码使用和使用子域。例如,用户界面运行在www.example.com服务器上api.example.com,然后在我的主机文件中我指向www.example.com本地主机。

如果 cookie 不是同站点 cookie 并且服务器具有正确的 CORS 设置,那么实际上从 localhost 使用它们应该不是问题。您的 UI 将无法访问它们,但浏览器应将它们与任何请求一起发送到服务器。(CORS 应该允许凭据,并且 UI 的 http 客户端应该使用类似withCredentials: true标志的东西)

于 2022-01-20T09:08:24.690 回答