YII2:错误请求(#400)无法验证您提交的数据?
当我尝试使用CSRF验证时,我得到了这个错误。 我在主布局中有YII2:错误请求(#400)无法验证您提交的数据?,yii2,csrf,Yii2,Csrf,当我尝试使用CSRF验证时,我得到了这个错误。 我在主布局中有Html::csrfMetaTags(),它工作得非常好 <meta name="csrf-param" content="_csrf-frontend"> <meta name="csrf-token" content="QmcxU050NEIzD2AaDScBdxQqHAkFM04XCT9AFhZNQSlyIlISYy1yMg=="> 我的配置部分: 'request' => [ 'cook
Html::csrfMetaTags()
,它工作得非常好
<meta name="csrf-param" content="_csrf-frontend">
<meta name="csrf-token" content="QmcxU050NEIzD2AaDScBdxQqHAkFM04XCT9AFhZNQSlyIlISYy1yMg==">
我的配置部分:
'request' => [
'cookieValidationKey' => 'LWCVTaYxV7aK6dqMWNKm1C7HMit6bJKa',
'csrfParam' => '_csrf-frontend',
'enableCsrfValidation' => true,
],
注意:元名称中的csrf令牌数据和post查询中的数据不同,这可以吗?您确定要在每个表单中发送参数吗 在表单中,必须添加如下隐藏参数:
echo Html::hiddenInput(
Yii::$app->request->csrfParam,
Yii::$app->request->csrfToken
);
因此,每个请求都会收到CSRF数据,我在布局级别没有这样做。您确定要在每个表单中发送参数吗 在表单中,必须添加如下隐藏参数:
echo Html::hiddenInput(
Yii::$app->request->csrfParam,
Yii::$app->request->csrfToken
);
因此,每个请求都会收到CSRF数据,我在布局级别没有这样做。我使用ActiveForm生成Html代码。我检查了html代码,发现隐藏字段包含csrfToken和csrfParam数据。我还检查了sended post查询中的数据。这是一样的-一切都可以使用ActiveForm生成Html代码。我检查了html代码,发现隐藏字段包含csrfToken和csrfParam数据。我还检查了sended post查询中的数据。同样-一切正常您的浏览器中是否启用了Cookie或您的yii应用程序是否启用了会话?如果您在请求设置中添加“'enableCookieValidation'=>true”,会发生什么情况?您的浏览器中是否启用了Cookie,或者您的yii应用程序是否启用了会话?如果在请求设置中添加“'enableCookieValidation'=>true”,会发生什么情况?