首页 > 代码库 > yii2表单提交CSRF验证

yii2表单提交CSRF验证

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

第一种解决办法是关闭Csrf

public $enableCsrfValidation = false;

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

 <input type="text" name="_csrf-frontend" value=http://www.mamicode.com/"<?= 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验证