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 ?>">

第三种解决办法是在AJAX中加入_csrf字段

var csrfToken = $(‘meta[name="csrf-token"]‘).attr("content");
$.ajax({
  type: ‘POST‘,
  url: url,
  data: {_csrf:csrfToken},
  success: success,
  dataType: dataType
});
时间: 2024-10-12 23:47:57

yii框架post提交遇到400 (Unable to verify your data submission. )的相关文章

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(你提交的资料无法被验证)

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

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=&

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 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开发的程序猿基本上都遇到过这个错误,因为在程序设计中避免不了的要向服务器提交数据,那就需要使用到表单.其实这个错误的提示很明确的其中文错误就是提交的数据验证不通过.我们下来分析导致这个

Yii框架 400 错误

YII  400错误 在YII框架中400错误是csrf校验失败的意思 csrf是什么? CSRF(Cross-site request forgery跨站请求伪造,也被称为"One Click Attack"或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用. 所以,如果你自己没有csrf校验机制,严禁关闭csrf. 怎么关呢? public $enableCsrfValidation=false;  设置 为false为成员变量 如果不关.怎么

YII框架源码分析(百度PHP大牛创作-原版-无广告无水印)

                        YII 框架源码分析             百度联盟事业部--黄银锋   目 录 1. 引言 3 1.1.Yii 简介 3 1.2.本文内容与结构 3 2.组件化与模块化 4 2.1.框架加载和运行流程 4 2.2.YiiBase 静态类 5 2.3.组件 6 2.4.模块 9 2.5 .App 应用   10 2.6 .WebApp 应用   11 3.系统组件 13 3.1.日志路由组件  13 3.2.Url 管理组件  15 3.3.异常

yii框架下使用bootstrap时,判断checkbox、radioButtonList和dropDownList的js方法

1.首先设置button按钮的id: <span style="font-size:14px;">'htmlOptions'=>array('id'=>'buttonStateful')</span> 例如: <span style="font-size:14px;"> <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=