yii2 ajax csrf meta,关于yii2 Csrf验证问题

在使用Yii2的uploadify插件上传文件时遇到HTTP400错误,原因是CSRF验证未通过。尽管在formData中正确设置了csrf令牌,但仍然无法通过验证。问题可能在于提交的数据格式或验证配置。解决方案可能包括调整插件设置以正确传递CSRF令牌,或者在控制器端特别处理此上传请求的CSRF验证。
摘要由CSDN通过智能技术生成

在使用yii2-uploadify时候,上传提交时候

发现返回HTTP400,意思提交的数据不被验证,研究发现是yii的csrf在发挥作用,

在beforeAction中禁用csrf是一种方法,不过我想默认使用csrf功能,我的代码如下

= $form->field($model,'thumb')->widget(Uploadify::className(),[

'url'=>\yii\helpers\Url::toRoute(['rotatain/upload']),

'id'=>'thumb',

'csrf'=>true,

'attribute'=>'file',

'renderTag'=>true,

'jsOptions'=>[

'width'=>140,

'height'=>36,

'buttonText'=>'上传图片',

'formData'=>"{". Yii::$app->request->csrfParam .":". Yii::$app->request->getCsrfToken().",PHPSESSID:". Yii::$app->session->get('session_id') ."}",

//'overrideEvents' => ['onSelectError','onSelect','onDialogClose'],

'onUploadStart'=>"function (){

alert($('input[name=_csrf]').val());

alert($('input[name=getT]').val());

}",

'onUploadSuccess'=>"function (file,data,response){

alert(data)

}"

]

]);?>

发送到一个测试文件输出POST能接受到_csrf,但是还是返回400状态,请问这是怎么问题,如何解决?

"formData":{"PHPSESSID":"8q17070o7drq3536i59cfrs5j7","_csrf":"QmJWY0QzNU0QVwA2HV9YFXYhZjA9XEIIBU9jCwVwDAF2DmEmD30EDg=="}

这个是生成的额外数据,发现也是正确的,但是csrf验证就是通过不了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值