yii2表单提交CSRF验证

Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下:

第一种解决办法是关闭Csrf

public $enableCsrfValidation = false;

第二种解决办法是在form表单中加入隐藏域(如果是高级版的name值分前后台区分)

 <input type="text" name="_csrf-frontend" 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-25 15:35:39

yii2表单提交CSRF验证的相关文章

html表单提交数据验证

我们在做B/S项目开发中,经常会用到表单提交数据,在页面需要做js数据验证,简单方法如下 js部分: <script type="text/javascript"> function validate_required(field, alerttxt) { with (field) { if (value == null || value == "") { alert(alerttxt); return false } else { return tru

UI标签库专题三:JEECG智能开发平台 FormValidation(表单提交及验证标签)

?? 1. FormValidation(表单提交及验证标签) 1.1.  参数 属性名 类型 描述 是否必须 默认值 action string 表单提交路径 否 null formid string 表单唯一标示 是 formobj refresh boolean dialog为true时是否刷新父页面 否 true callback string 表单提交完成后的回调函数 否 null beforeSubmit string 表单提交前的处理函数 否 null btnsub string

javascprit form表单提交前验证以及ajax返回json

1.今天要做一个手机验证码验证的功能.需求是前端页面点击发送 短信验证码,后台接收后通过ajax返回到前端,之后前端在提交时候进行验证.思路很简单,不过做的过程还是学到不少的东西. 1.ajax请求后返回 returning 405 Method Not Allowed 原因是我后台返回的时候没有加上: @ResponseBody注解.加上后返回的数据是json字符串,但是js只能操作json对象.需要把json字符串转为json对象.一般的有三种方式1.JSON.parse();如 var j

UI标签库专题三 JEECG智能开发平台 FormValidation 表单提交及验证标签

1. FormValidation(表单提交及验证标签) 1.1.  参数 属性名 类型 描述 是否必须 默认值 action string 表单提交路径 否 null formid string 表单唯一标示 是 formobj refresh boolean dialog为true时是否刷新父页面 否 true callback string 表单提交完成后的回调函数 否 null beforeSubmit string 表单提交前的处理函数 否 null btnsub string 触发表

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

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

3、登陆表单提交CSRF及验证码

1.表单提交,并将其提交到本页 (1) form 属性method为post方法,修改路由,使其接收post.get的请求 Route::any('/admin/login','Admin\[email protected]'); (2)LoginController.php 修改login方法,根据不同的请求返回不同的内容 如果请求方法为get ,返回登陆页面:如果请求为post,就行验证 use Illuminate\Support\Facades\Input; public functio

JavaScript form表单提交与验证

原网址:https://blog.csdn.net/vipwxs/article/details/79119701 一.form对象的属性: name:获取表单的名称,该name一般给JS使用 method:表单的提交方式   (get:不安全,数据量较小,不能上传附件)(post:相对安全 海量数据 能上传附件) action:表单数据的处理程序 一般是PHP文件 enctype:表单数据的编码方式(加密) application/x-www-form-urlencoded  默认      

Html form 表单提交前验证

可以使用form表单的onsubmit方法,在提交表单之前,对表单或者网页中的数据进行检验. onsubmit指定的方法返回true,则提交数据:返回false不提交数据. 直接看下面的代码: 1 <HTML> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 </head> 5 <BODY>

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