我在yii2中遇到CSRF验证问题.验证可以正常使用gii生成的默认表单,但是当我使用html标签编辑表单时,表单提交会引发错误的请求错误.我已禁用csrf验证以隐藏错误,但我想将此用于应用程序和数据验证的安全性.
有没有办法解决这个错误,还是有办法配置它在这种情况下正常工作?
Pav*_*iev 35
我想,你的html表单没有隐藏_csrf字段,它是由标准Yii2小部件自动生成的.
因此,自定义表单的最小代码可能如下所示:
<form method="post">
<input type="hidden" name="<?= Yii::$app->request->csrfParam; ?>" value="<?= Yii::$app->request->csrfToken; ?>" />
<button type="submit"> Save </button>
</form>
Run Code Online (Sandbox Code Playgroud)
小智 5
尝试这个
<?=yii\helpers\Html::hiddenInput(Yii::$app->request->csrfParam, Yii::$app->request->csrfToken)?>
Run Code Online (Sandbox Code Playgroud)