Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 登录表单中的CSRF保护_Security_Symfony_Login_Csrf - Fatal编程技术网

Security 登录表单中的CSRF保护

Security 登录表单中的CSRF保护,security,symfony,login,csrf,Security,Symfony,Login,Csrf,我正在使用symfony2.1构建一个带有一个小登录表单的网站。我正在链接上学习教程,但是我没有看到任何关于CSRF保护的部分。但是,登录安全性有所有选项,最后我可以清楚地看到应该支持这种类型的保护。我不知道如何使用它您可以阅读2.1版中有关CSRF保护的详细信息 如果您的表单不使用表单类,您可以简单地使用csrf\u token函数(不要忘记在那里传递您的意图字符串,默认为空): 它已定义,在默认情况下将执行 可能这些答案对您也很有用: 没有任何东西阻止您创建用于登录的表单类。您只需

我正在使用symfony2.1构建一个带有一个小登录表单的网站。我正在链接上学习教程,但是我没有看到任何关于CSRF保护的部分。但是,登录安全性有所有选项,最后我可以清楚地看到应该支持这种类型的保护。我不知道如何使用它

您可以阅读2.1版中有关CSRF保护的详细信息


如果您的表单不使用表单类,您可以简单地使用
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]