YII2:错误请求(#400)无法验证您提交的数据?

YII2:错误请求(#400)无法验证您提交的数据?,yii2,csrf,Yii2,Csrf,当我尝试使用CSRF验证时,我得到了这个错误。 我在主布局中有Html::csrfMetaTags(),它工作得非常好 <meta name="csrf-param" content="_csrf-frontend"> <meta name="csrf-token" content="QmcxU050NEIzD2AaDScBdxQqHAkFM04XCT9AFhZNQSlyIlISYy1yMg=="> 我的配置部分: 'request' => [ 'cook

当我尝试使用CSRF验证时,我得到了这个错误。 我在主布局中有
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”,会发生什么情况?