使用VueJS的CakePHP 3安全组件和表单字段

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (97)

我正在使用Vue.js和CakePHP 3.6创建一个应用程序。

POST时,安全组件会抛出400错误,因为缺少_Token字段。我没有CSRF令牌的问题,只是形成安全验证。

我不想在整个应用程序中禁用该组件。

我找到了一个非解决方案:从Cake \ View \ Helper \ SecureFieldTokenTrait中暴露_buildFieldToken但我认为这将避免SecurityComponent的目的。

任何帮助都非常受欢迎和赞赏。

提问于
用户回答回答于

您需要通过fetch或axios访问的控制器中的操作(例如:ajaxRequest)可以在控制器中解锁:

如果您使用蛋糕助手生成了表单,则_CSRFTOKEN位于表单标签或隐藏输入中(抱歉检查浏览器中的表单元素),当您对令牌进行本地化时,将其添加到。$ post()的数据中。

ajax请求cakephp

public function beforeFilter(Event $event)
{
     //this line is not necessary if you pass the _csrfToken
     $this->getEventManager()->off($this->Csrf);
     $this->Security->setConfig('unlockedActions', ['ajaxRequest']);
}

扫码关注云+社区

领取腾讯云代金券