首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用或禁用捆绑包的csrf_protection

启用或禁用捆绑包的csrf_protection
EN

Stack Overflow用户
提问于 2013-01-14 17:35:18
回答 1查看 1.9K关注 0票数 3

为框架启用或禁用csrf_protection的Symfony2建议,例如:

代码语言:javascript
复制
    csrf_protection: 
        enabled: false

代码语言:javascript
复制
     csrf\_protection: false

我们应该注意到这两个配置是完全不同的,第一个意味着csrf被加载但为false,第二个我们甚至没有加载这个功能。嗯,我们可以很容易地为一个特殊的表单启用它,例如:

代码语言:javascript
复制
    public function getDefaultOptions(array $options)
{
    return array(
            'data_class' => 'xxx\Entity\Company',
            'csrf_protection' => true,
    );
}

在窗体生成器类中。

但我认为这是不够的,所以我问这个问题,我们是否可以这样做:

代码语言:javascript
复制
mybundle:
    csrf_protection:
        enabled: false
EN

回答 1

Stack Overflow用户

发布于 2013-01-14 20:46:48

您可以在config.yml文件中为项目中的每个捆绑包全局禁用csrf_protection,但我认为不可能只针对其中一个捆绑包这样做。

相反,您需要修改该捆绑包的每个表单类上的选项数组,如下所示:

代码语言:javascript
复制
class TaskType extends AbstractType
{
    // ...

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

    // ...
} 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14315932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档