gpt4 book ai didi

php - CSRF 和 RESTful API(symfony2,php)

转载 作者:可可西里 更新时间:2023-11-01 12:39:22 26 4
gpt4 key购买 nike

我正在使用 php/symfony2 开发 RESTful API。

Symfony2 带有开箱即用的 CSRF 保护,在使用普通表单数据时它工作正常(它将 CSRF token 传递给表单,并且在回发时它期望嵌入在表单中的相同 token )。

尽管如此,如果您开发 RESTful API,则此解决方案不适合您的目的,因为后端<->前端之间的通信完全基于 JSON。因此,我禁用了 CSRF。

我知道没有 CSRF token 是不安全的,所以我想知道使用 RESTful API 获取 CSRF 的最佳方式是什么。

一个想法是使用特定的 URL,例如/api/generate/csrf,可以被前端调用然后附加token到json请求。这听起来不是最安全的方式,因为从技术上讲,任何人都可以生成 token 。

在开发 RESTful API 时解决 CSRF 问题的最佳方法是什么。

干杯,理查德

最佳答案

请记住,只有当您的 REST 客户端使用基于 session 的身份验证时,您才需要 CSRF 保护,否则 CSRF 保护将无济于事。

如果您的请求确实使用基于 session 的身份验证,我会将 CSRF token 作为 header 包含在内。像这样的东西:

CSRF-Token: dfsa0jr3n2io20a;

关于php - CSRF 和 RESTful API(symfony2,php),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285825/

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