如何在 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
ajax
cakephp
csrf
cakephp-3.x
本文介绍了如何在 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'));?>);},
要使令牌可用于所有脚本,例如,您可以将其作为布局模板中的变量全局可用:
相关文章
- 如何在Cakephp 3中的ajax调用中定义CSRF令牌。以及如何为某些ajax请求关闭CSRF;
- CakePHP ajax CSRF令牌不匹配;
- 如何在表单的AJAX发布请求中传递CSRF令牌?;
- 如何在表单的 AJAX 发布请求中传递 CSRF 令牌?;
- 如何通过laravel中的ajax调用发送csrf令牌?;
- csurf AJAX调用 - 无效的CSRF令牌;
- 用户未登录时如何使用AJAX和CakePHP 3检查CSRF令牌?;
- 用于 Ajax 的 Django csrf 令牌;
- 通过 AJAX 获取 CSRF 令牌;
- ajax POST请求的Laravel csrf令牌不匹配;
- 在 rails 3 中关闭 CSRF 令牌;
- 在Rails 3中关闭CSRF令牌;
- CSRF令牌在PhoneGap的使用AJAX;
- 加载CSRF令牌上轨与AJAX;
- 使用AJAX时CSRF令牌无效;
- Laravel CSRF令牌与Ajax POST请求不匹配;
- 如何为Cakephp 3 PHPunit测试创建CSRF令牌?;
- 如何通过使用Ajax在LARAVEL中获得新的CSRF令牌;
- django2中用于ajax的csrf令牌;
- 适用于Ajax的Django CSRF令牌;
- 我需要 jQuery .ajax() 的 CSRF 令牌吗?;
- 获取CSRF令牌测试,与QUOT; CSRF令牌无效&QUOT; - 功能AJAX测试;
- Django 1.9 AJAX形式CSRF令牌403错误 - “CSRF cookie not set”;
- Yii 2.0 CSRF验证AJAX请求;
- ajax页面加载后没有csrf令牌;
前端开发最新文章
- 为什么Chrome(在Electron内部)突然重定向到chrome-error:// chromewebdata?;
- 错误102(net :: ERR_CONNECTION_REFUSED):服务器拒绝连接;
- 如何解决'重定向已被CORS策略阻止:没有'Access-Control-Allow-Origin'标题'?;
- 如何处理“Uncaught(in promise)DOMException:play()失败,因为用户没有首先与文档交互。”在桌面上使用Chrome 66?;
- 警告:添加非被动事件侦听器到滚动阻塞'touchstart'事件;
- 如何在浏览器中播放.TS文件(视频/ MP2T媒体类型)?;
- 此请求已被阻止;内容必须通过HTTPS提供;
- 资源解释为样式表,但转换为MIME类型text / html(似乎与web服务器无关);
- 通过HTTPS加载页面但请求不安全的XMLHttpRequest端点;
- 拒绝从执行脚本'*',因为它的MIME类型(“应用/ JSON')不是可执行文件,并严格MIME类型检查被启用。;