小编Dan*_*ani的帖子

CakePHP 3.6.10禁用完全CSRF令牌检查

我需要完全禁用对我的应用程序的CSRF令牌的控制.我试着用:

    public function beforeFilter(Event $event)
    {
      $this->getEventManager()->off($this->Csrf);
    }
Run Code Online (Sandbox Code Playgroud)

在AppController但它似乎不起作用.手动链接:禁用特定操作的CSRF组件

我做了很多测试,阅读了很多帖子,但我无法解决.

TY.

@omerowitz这是我在过滤操作之前的AppController:

    public function beforeFilter(Event $event)
{
    $this->getEventManager()->off($this->Security);
    if($this->request->is('post')) {
        $this->getEventManager()->off($this->Csrf);
    }
    $this->Auth->allow(['index', 'view', 'display']);
}
Run Code Online (Sandbox Code Playgroud)

但它仍然无效,我仍然有错误'CSRF令牌不匹配'.当我与邮递员提出请求时

解:

我删除了这个:

->add(new CsrfProtectionMiddleware([
     'httpOnly' => true
  ]));
Run Code Online (Sandbox Code Playgroud)

来自Application.php.为什么手册中没有说明这一点?

太棒了!

cakephp-3.0

0
推荐指数
1
解决办法
2143
查看次数

标签 统计

cakephp-3.0 ×1