如何在 Cakephp 3 中的 ajax 调用中定义 CSRF 令牌.此外,对于某些 ajax 请求,CSRF 是如何关闭的 [英] How to define CSRF token in ajax call in Cakephp 3. Also How CSRF can be off for some ajax requests

查看:15
本文介绍了如何在 Cakephp 3 中的 ajax 调用中定义 CSRF 令牌.此外,对于某些 ajax 请求,CSRF 是如何关闭的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Cakephp3 中启用 Csrf 组件时.我如何在 ajax 调用中使用它.在此 beforeSend 参数中,ajax csrf 令牌设置在标头中.csrfToken 的价值是什么.因为它给出了错误

<块引用>

csrfToken 未定义

beforeSend: function(xhr){xhr.setRequestHeader('X-CSRF-Token', csrfToken);},

还有如何禁用某些 ajax 调用的 Csrf 组件.

解决方案

CSRF组件将当前token以_csrfToken的形式写入请求参数,可以通过请求对象的param获取() 方法(或 getParam() 从 CakePHP 3.4 开始):

beforeSend: function(xhr){xhr.setRequestHeader('X-CSRF-Token',<?= json_encode($this->request->param('_csrfToken'));?>);},

要使令牌可用于所有脚本,例如,您可以将其作为布局模板中的变量全局可用:





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