yii2 表单提交 出现Unable to verify your data submission 错误

yii2 开发

手写 form 表单, 没有使用 yii 自带的部件,

提交的时候出现错误:

Unable to verify your data submission

原因:

由于 yii2 内部防止 CSRF 攻击,内部有 检测机制。

解决方案:

方案1、在对应的控制器中添加 :    public $enableCsrfValidation=false;

不建议这么做:安全性着想;

方案2、在表单中 添加 此隐藏 列:

<input type="hidden" name="<?= Yii::$app->request->csrfParam; ?>" value="<?= Yii::$app->request->getCsrfToken();?>">

信息来源网站:

https://stackoverflow.com/questions/26459419/why-get-unable-to-verify-your-data-submission-error-in-yii2

http://www.bubuko.com/infodetail-1928157.html

				
时间: 2024-08-06 11:01:49

yii2 表单提交 出现Unable to verify your data submission 错误的相关文章

Unable to verify your data submission错误解决

如果不用Yii2提供的ActiveForm组件生成表单,而是自定义表单,那么当你提交表单的时候就会报这个错误 Unable to verify your data submission 这是因为Web网页访问的时候form表单中会有对应的一个隐藏input:_csrf进行了验证才可以正常进行访问:而非网页访问方式(不通过Web表单)是无法通过csrf验证的. 上述可以通过查看源代码发现有一个name=_csrf的hidden. 可以在所在控制器设置$enableCsrfValidation=fa

yii2表单提交CSRF验证

Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下: 第一种解决办法是关闭Csrf public $enableCsrfValidation = false; 第二种解决办法是在form表单中加入隐藏域(如果是高级版的name值分前后台区分) <input type="text" name="_csrf-frontend" value="<?= Yii::$app->request->csrf

[Yii2]Unable to verify your data submission(你提交的资料无法被验证)

Yii2中,使用form提交数据,会提示: [yii\web\HttpException:400] exception 'yii\web\BadRequestHttpException' with message '您提交的資料無法被驗證.'的错误信息. 我尝试在form中添加 <?= Html::csrfMetaTags() ?> 错误依旧. 尝试在控制器中添加 public $enableCsrfValidation = false; 就可以了. 参考连接: Why get Unable

yii2 表单提交一直报错 或者页面脚本写ajax,用firbug调试总是找不到地址页面404

在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证,使用Yii表单生成页面的时候,如果表单的提交方式为POST,是都会在页面中添加一个隐藏字段: <div style="display:none">     <input type="hidden" value="a429b6c0f4468db23a5661d1682db537fe2672c7" name="YII_CSRF_TOKEN" />

Yii框架用ajax提交表单时候报错Bad Request (#400): Unable to verify your data submission.

提交表单报400错误,提示 "您提交的数据无法验证"原来是csrf验证的问题,因为表单是自己写的,在Yii框架中,为了防止csrf攻击,对post的表单数据封装了CSRF令牌验证.解决办法关闭csrf验证 frontend/config/main-local.PHP中 在配置文件中关闭 $config = [ 'components' => [ 'request' => [ // !!! insert a secret key in the following (if it

Yii2 Unable to verify your data submission

出现这种错误第一时间是怀疑CSRF没有填写的原因,不建议网上所说的关闭csrf,这存在安全隐患,于是直接在表单填写<input type="hidden" name="_csrf" id='csrf' value="<?= Yii::$app->request->csrfToken ?>"> 重新提交以下,还是同样的问题,于是追踪源码,发现name的名称有误,我使用的是yii2的高级后台模板,准确的name名称

Unable to verify your data submission.加入了_csrf也报400错误的解决

<input type="hidden" name="_csrf" value="<?=Yii::$app->request->csrfToken?>" />如果你添加了以上标签还是报错那么你需要坚持看完这篇文档 刚开始做Yii2开发的程序猿基本上都遇到过这个错误,因为在程序设计中避免不了的要向服务器提交数据,那就需要使用到表单.其实这个错误的提示很明确的其中文错误就是提交的数据验证不通过.我们下来分析导致这个

yii2表单提交不刷新的问题

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public function actionContact()     {         $model = new ContactForm();         if ($model->load(Yii::$app->request->post()) && $model->validate()) {             if ($model->sendEmail(Yii::$a

yii框架post提交遇到400 (Unable to verify your data submission. )

第一种解决办法是关闭Csrf public function init(){ $this->enableCsrfValidation = false; } 第二种解决办法是在form表单中加入隐藏域 <input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>"> 第三种