关闭

yii2中自定义表单或者post请求 csrf验证(防跨站伪请求)

标签: yii
1636人阅读 评论(0) 收藏 举报
分类:

第一种解决办法是关闭Csrf

public function init(){
    $this->enableCsrfValidation = false;
}

第二种解决办法是在form表单中加入csrf隐藏域表单。表单名根据我们的cookie设置。或者设置request组件的csrfParam字段为自己想要的字段名

<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">

第三种解决方法 Ajax post请求时,带上csrf的对应的cookie名,一起post传送到接受处

var csrfToken = $('.csrf').val();
$.ajax({
  type: 'POST',
  url: url,
  data: {_csrf:csrfToken},
  success: success,
  dataType: dataType
});
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:86301次
    • 积分:2079
    • 等级:
    • 排名:千里之外
    • 原创:111篇
    • 转载:23篇
    • 译文:13篇
    • 评论:11条
    文章分类
    最新评论