【发布时间】:2012-08-16 18:34:58
【问题描述】:
我正在尝试在我的 Symfony 2 项目中实现一些 ajax 功能。使用 jquery 的 $.post 我想将一些数据发送回我的控制器。但是,当我只是 POST 数据时,没有 CSRF 保护,因为 symfony 的 csrf 保护似乎只适用于表单。
什么是实现这一点的非常简单的方法?
使用表单时,我只需执行 $form->isValid() 即可确定 CSRF 令牌是否通过。我目前正在将我想要发布的所有内容放在一个表单中,然后发布。这基本上意味着我只使用该表单来实现 CSRF 保护,这看起来很 hacky。
【问题讨论】:
-
不是所有其他页面都只是用户可以访问的页面吗?这意味着通常的 security.yml 设置会阻止应该看到它的人看到它。