【问题标题】:How to set csrf option in symfony如何在 symfony 中设置 csrf 选项
【发布时间】:2015-01-03 09:48:56
【问题描述】:

我想在 symfony 中使用表单生成器在表单上将 CSRF 错误冒泡设置为 false。

我以为这样就可以了

$builder->get('_token')->setErrorBubbling(false);

但它给了我

名为“_token”的孩子不存在。

csrf_field_name 设置为“_token”。那么,在我的表单构建之后会生成令牌吗?有什么想法可以做到这一点吗?

非常感谢 戴夫

【问题讨论】:

    标签: php forms symfony csrf


    【解决方案1】:

    如果您想禁用 CSRF 令牌,您有两个选择:

    在控制器上创建表单时传递一个选项:

    $form = $this->createForm(new AcmeForm(), $acme, array(
                'csrf_protection' => false
            ));
    

    或作为表单类的默认选项:

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
       $resolver->setDefaults(array(
             'csrf_protection' => false
    }
    

    【讨论】:

    • 谢谢你,但我根本不想禁用它——这很容易。如前所述,我想为其设置一个选项。谢谢,戴夫
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2017-08-30
    • 2020-05-11
    相关资源
    最近更新 更多