CSRF组件将当前令牌写入,作为请求参数
_csrfToken,您可以通过request objects
param()方法(或
getParam()从CakePHP 3.4开始)获取它:
setRequestHeader('X-CSRF-Token', <?= json_enpre($this->request->param('_csrfToken')); ?>);可以通过从控制器事件管理器中删除CSRF组件来禁用它。您必须确定需要执行什么条件,例如针对特定操作,例如:
public function beforeFilter(CakeEventEvent $event){ parent::beforeFilter($event); if ($this->request->param('action') === 'actionXyz') { $this->eventManager()->off($this->Csrf); }}如果您使用的是CSRF中间件,则令牌仍可作为名为的请求参数使用
_csrfToken,禁用中间件,但工作方式有所不同,请参见例如 [Cakephp3.5.6禁用控制器的CSRF中间件]
也可以看看
- 食谱 >请求和响应对象>请求参数
- 食谱 >控制器>组件> CSRF>使用CsrfComponent
- 食谱 >控制器>组件> CSRF>为特定操作禁用CSRF组件



