Yii2出现错误'Unable to verify your data submission'的解决

匿名 (未验证) 提交于 2019-12-02 23:34:01

这个错误的提示很明确的,是说提交的数据验证不通过。出现这个错误的原因是Yii2框架本身的安全机制需要在提交表单时验证CSRF,这对于数据的安全性和防止表单的重复提交是简单并且有效的一种解决方案。

如果是用的Yii2自带的模型加ActiveForm全栈开发思想的模式,一般是不会遇到这种情况的。因为它会自动在表单里增加一个隐藏的name为_csrf的的字段,框架会从request中接收到值并进行验证。所以目前有两种方式解决:

1、在表单中手动添加一个标签,就像这样(个人比较推荐):

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

2、在控制器中设置这一属性:public $enableCsrfValidation = false , 虽然这种办法也能解决问题,但是不够安全,关掉CSRF就等于少了一层安全机制。

文章来源: https://blog.csdn.net/beyondamos/article/details/90510465
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!