我正在使用 Symfony 2.1 构建一个带有一点登录表单的网站。我正在关注此链接上的教程,但我没有看到任何有关 CSRF 保护的部分。但是,这里有登录安全性的所有选项,最后我可以清楚地看到应该支持这种类型的保护。我不明白如何使用它
问问题
1128 次
2 回答
2
在这里您可以阅读 2.1 版本中有关 CSRF 保护的详细信息
如果您不为表单使用表单类,则可以简单地使用csrf_token
函数(不要忘记在那里传递您的意图字符串,默认情况下为空):
<input type="hidden" name="token" value="{{ csrf_token('') }}">
这些答案可能对您也有用:
https://stackoverflow.com/a/12054712/970721
https://stackoverflow.com/a/11632713/970721
于 2012-10-07T21:09:55.320 回答
0
没有什么能阻止您创建用于登录的表单类。您需要做的就是告诉登录控制器生成的字段的名称:
form_login:
username_parameter: login[username]
password_parameter: login[password]
csrf_parameter: login[_token]
并将表单的 CSRF 意图设置为authenticate
:
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults([
'intention' => 'authenticate',
]);
}
于 2012-10-08T06:22:00.130 回答