yii2 ajax csrf meta,关于yii2 Csrf验证问题
在使用yii2-uploadify时候,上传提交时候
发现返回HTTP400,意思提交的数据不被验证,研究发现是yii的csrf在发挥作用,
在beforeAction中禁用csrf是一种方法,不过我想默认使用csrf功能,我的代码如下
= $form->field($model,thumb)->widget(Uploadify::className(),[
url=>yiihelpersUrl::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验证就是通过不了。
在使用yii2-uploadify时候,上传提交时候 发现返回HTTP400,意思提交的数据不被验证,研究发现是yii的csrf在发挥作用, 在beforeAction中禁用csrf是一种方法,不过我想默认使用csrf功能,我的代码如下 = $form->field($model,thumb)->widget(Uploadify::className(),[ url=>yiihelpersUrl::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验证就是通过不了。