CSRF和RESTful API(symfony2,php)

ric*_*.pi 8 php rest json csrf symfony

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

Symfony2带有开箱即用的CSRF保护,它在使用普通表单数据时工作正常(它将CSRF令牌传递给表单,当发回时它需要嵌入表单中的相同令牌).

尽管如此,如果您开发RESTful API,此解决方案不适用于此目的,其中后端< - >前端之间的通信纯粹基于JSON.因此我禁用了CSRF.

我知道没有CSRF令牌是不安全的,所以我想知道什么是使用RESTful API获得CSRF的最佳方式.

一个想法是拥有特定的URL,例如/ api/generate/csrf,可以通过前端调用然后将令牌附加到json请求.它听起来不是最安全的方式,因为技术上可以由任何人生成令牌.

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

干杯,理查德

git*_*rik 1

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

如果您的请求确实使用基于会话的身份验证,我将包含 CSRF 令牌作为标头。就像是:

CSRF-Token: dfsa0jr3n2io20a;
Run Code Online (Sandbox Code Playgroud)