Security 登录表单中的CSRF保护
我正在使用symfony2.1构建一个带有一个小登录表单的网站。我正在链接上学习教程,但是我没有看到任何关于CSRF保护的部分。但是,登录安全性有所有选项,最后我可以清楚地看到应该支持这种类型的保护。我不知道如何使用它您可以阅读2.1版中有关CSRF保护的详细信息Security 登录表单中的CSRF保护,security,symfony,login,csrf,Security,Symfony,Login,Csrf,我正在使用symfony2.1构建一个带有一个小登录表单的网站。我正在链接上学习教程,但是我没有看到任何关于CSRF保护的部分。但是,登录安全性有所有选项,最后我可以清楚地看到应该支持这种类型的保护。我不知道如何使用它您可以阅读2.1版中有关CSRF保护的详细信息 如果您的表单不使用表单类,您可以简单地使用csrf\u token函数(不要忘记在那里传递您的意图字符串,默认为空): 它已定义,在默认情况下将执行 可能这些答案对您也很有用: 没有任何东西阻止您创建用于登录的表单类。您只需
如果您的表单不使用表单类,您可以简单地使用
csrf\u token
函数(不要忘记在那里传递您的意图字符串,默认为空):
它已定义,在默认情况下将执行
可能这些答案对您也很有用:
没有任何东西阻止您创建用于登录的表单类。您只需告诉登录控制器生成字段的名称:
form_login:
username_parameter: login[username]
password_parameter: login[password]
csrf_parameter: login[_token]
并将表单的CSRF意图设置为验证
:
公共函数setDefaultOptions(选项ResolvePrinterface$resolver)
{
$resolver->setDefaults([
“意图”=>“验证”,
]);
}
登录表单没有表单类,因此我无法使用该方法谢谢,但我认为这不是我要搜索的内容。这不应该是经典形式吗?我认为有一些表单字段可以让登录表单通过twigt自动获取,该方法打印一个字符串,看起来像是csrf令牌,但是有没有它在登录表单中并没有区别。似乎symfony没有检查它。但是在配置选项中,csrf应该在登录过程中默认启用。我必须为登录表单设置csrf提供程序,然后它才能工作。我唯一讨厌的是,我必须使用csrf_token函数明确地写下意图,相反,我认为有一种快速的方法可以从安全登录选项中获取if
form_login:
username_parameter: login[username]
password_parameter: login[password]
csrf_parameter: login[_token]