gpt4 book ai didi

symfony - 在登录表单上禁用 CSRF token

转载 作者:行者123 更新时间:2023-12-03 14:31:28 55 4
gpt4 key购买 nike

我正在使用 Symfony2.0 和 FOSUserBundle,并且想在我的登录表单上禁用 csrf token 。

我在我的 config.yml 中的网站上全局禁用了 csrf 保护:

framework:
csrf_protection:
enabled: false

这很好用,我的表单中没有添加 csrf 字段。
但是,这不适用于登录表单。仅在此表单上,如果我未在表单中包含以下 token ,则会收到“无效的 CSRF token ”错误:
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />

如何在登录表单上禁用 CSRF token ?

最佳答案

您可以通过设置 'csrf_protection' => false 在表单类中禁用 CSRF 保护。在其选项数组中:

class LoginType extends AbstractType
{
// ...

public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'Acme\UserBundle\Entity\User',
'csrf_protection' => false
);
}

// ...

}

如果您使用 FormBuilder 而不是 AbstractType 类来创建表单,您可以将选项数组作为 createFormBuilder() 的第二个参数传递。像这样:
$form = $this->createFormBuilder($users, array('csrf_protection' => false))
->add( ... )
->getForm();

关于symfony - 在登录表单上禁用 CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15269680/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com