yii2框架-yii2局部关闭(开启)csrf的验证 ------ 400错误

最近正在用yii2写新项目。遇到了一些问题和大家分享一下。在我做登录操作是出现400错误。当时很纳闷,明明路径都是对的。怎么会出现这个问题呢!于是乎goole了一下。问题是解决了。但是感觉不详细。于是乎想整理一下。

前提是我没有用ActiveForm表单组件,废话少说,进入正题。

csrf 概念
我怕说的不好,但是我看到一篇文章讲的不错。链接如下:

csrf概念

我个人的理解就是一个服务器token,与cookie session 进行对比,保证数据的合法性和防御CSRF攻击。

如果你不用ActiveForm表单组件,在添加 更新 删除等操作就会出现400错误。我们怎么解决的。

一. 局部关不csrf验证

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

二. 表单中加入csrff

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

这个是重点, 不能这样 name="_csrf" ,否则无效。必须加入后缀。后缀也是规则的。

  1. 查看name配置 可以看到是_csrf-backend
    在这里插入图片描述

  2. 编辑表单

Array ( [_csrf-app] => kQvzekYEWUj2tn2JbOdbzwoy8vrkgNZcJS4EXEWaPTXYRppPCm4yL7zxPMApiGKtfXqEz575-xZ2eW1tMvtFeQ== [login_name] => weixi [login_password] => 123456 )

有什么不足之处,请指正。谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值