在登录表单中使用CSRF保护

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.0,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

跨站请求伪造).Security组件已经内置了对CSRF的支持。在本文中,您将了解如何在登录表单中使用它。

请注意

登录CSRF攻击不太为人所知。看到伪造登录请求如果你想知道更多细节。

Security组件可以进一步配置,但这是它在登录表单中使用CSRF所需的全部信息。

_csrf_token.该隐藏字段必须包含CSRF令牌,该令牌可以通过使用csrf_token函数。该函数需要一个令牌ID,必须设置为进行身份验证使用登录表单时:

  • 嫩枝
  • PHP
12 3 4 5 6 7 8 9 10 11 12
{# src / AppBundle /资源/视图/安全/ login.html。树枝#}{#……#}<形式行动{{path('login')}}方法“职位”>{#……登录字段#}<输入类型“隐藏”的名字“_csrf_token”价值{{csrf_token('authenticate')}}><按钮类型“提交”>登录按钮>形式>

在此之后,您已经保护了登录表单免受CSRF攻击。

提示

您可以通过设置更改字段的名称csrf_parameter并通过设置更改令牌IDcsrf_token_id在您的配置中:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8 9 10 11
# app / config / security.yml安全:#……防火墙:secured_area:#……form_login:#……csrf_parameter:_csrf_security_tokencsrf_token_id:a_private_string