CakePHP 3.6.10完全禁用CSRF令牌检查 [英] CakePHP 3.6.10 disable completely CSRF token check

查看:0
本文介绍了CakePHP 3.6.10完全禁用CSRF令牌检查的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要完全禁用对我的应用程序的CSRF令牌的控制。 我尝试使用:

    public function beforeFilter(Event $event)
    {
      $this->getEventManager()->off($this->Csrf);
    }

,但它似乎不起作用。 手动链接:Disabling the CSRF Component for Specific Actions

我做了很多测试,看了很多帖子,但都解不出来。

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']);
}
但是它仍然不起作用,我仍然有错误‘CSRF令牌不匹配’。当我向邮递员提出请求时

解决方案:

我已删除此文件:

->add(new CsrfProtectionMiddleware([
     'httpOnly' => true
  ]));

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

全部感谢!

推荐答案

我认为在Ckee3.6中应该从中间件队列中删除CsrfProtectionMiddlewaresrc/Application.php

这篇关于CakePHP 3.6.10完全禁用CSRF令牌检查的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆