yii2表单提交CSRF验证

Posted calmly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii2表单提交CSRF验证相关的知识,希望对你有一定的参考价值。

Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下:

第一种解决办法是关闭Csrf

public $enableCsrfValidation = false;

第二种解决办法是在form表单中加入隐藏域(如果是高级版的name值分前后台区分)

 <input type="text" name="_csrf-frontend" value="<?= Yii::$app->request->csrfToken ?>" />(前台实例)

第三种解决办法是在AJAX中加入_csrf字段

 

var csrfToken = $(meta[name="csrf-token"]).attr("content");
$.ajax({
  type: POST,
  url: url,
  data: {_csrf:csrfToken},
  success: success,
  dataType: dataType
});

 

以上是关于yii2表单提交CSRF验证的主要内容,如果未能解决你的问题,请参考以下文章

通过 Yii2 中的链接使用 AJAX 提交时的 CSRF 问题

yii2 ajax post设置csrf

Yii2提交表单提示无法验证

Yii2表单验证但未提交发送电子邮件

为啥在 Yii2 中出现无法验证您的数据提交错误?

yii2 表单提交 出现Unable to verify your data submission 错误