加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

对ajax提交禁用symfony 2 csrf令牌保护

发布时间:2020-12-16 03:18:52 所属栏目:百科 来源:网络整理
导读:我建立一个移动应用程序,通过webservices与我的symfony2应用程序说话 我找不到一个方法来禁用csrf保护特定的控制器/操作 我想将注册数据发布到此操作,并使用sf2表单验证。我不在我的移动应用程序中调用表单 无法在操作中更改容器参数,因为它是冻结的参数
我建立一个移动应用程序,通过webservices与我的symfony2应用程序说话
我找不到一个方法来禁用csrf保护特定的控制器/操作

我想将注册数据发布到此操作,并使用sf2表单验证。我不在我的移动应用程序中调用表单

无法在操作中更改容器参数,因为它是冻结的参数而抛出异常…

我不想禁用整个我的应用程序的表单保护

任何线索?

谢谢 !

update:with symfony 2.1.x

/**
 * {@inheritdoc}
 */
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'csrf_protection'   => false,));
}
如果你想寻找一个比上述答案中建议的更简单和快速的解决方案,以下是如何:
<?php

// ...

use SymfonyComponentFormAbstractType;
use SymfonyComponentFormFormBuilder;
use SymfonyComponentOptionsResolverOptionsResolver;

class MyType extends AbstractType
{
    // ...

   public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'csrf_protection' => false,));
    }
}

..或如果你使用Symfony 2.0。*:

<?php

// ...

use SymfonyComponentFormAbstractType;
use SymfonyComponentFormFormBuilder;

class MyType extends AbstractType
{
    // ....

    public function getDefaultOptions(array $options)
    {
        $options = parent::getDefaultOptions($options);
        $options['csrf_protection'] = false;

        return $options;
    }
}

有关更多信息,请咨询Symfony documentation。

编辑:更新的答案最新Symfony版本,感谢 naitsirch

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读