フォーム・レポートの発行400エラー.「送信したデータは検証できません」というメッセージが表示されます.
1259 ワード
フォームレポート400の発行エラーは、「提出したデータは検証できません」というメッセージがcsrf検証の問題であることを示しています.フォームは自分で書いたので、Yiiフレームワークでは、csrf攻撃を防ぐためにpostのフォームデータにCSRFトークン検証がカプセル化されています.解決策csrf検証を閉じる
frontend/config/main-local.phpで
方法一、プロファイルで閉じる
Yiiフォームを使用してページを生成する場合、フォームの発行方法がPOSTであれば、いずれもページに非表示フィールドを追加します.この非表示フィールドはCSRFトークン検証フィールドユーザーがフォームを発行すると同時に、このフィールドをサーバ側に提出し、Yiiフレームワークはクライアントが提出した非表示フィールドとクライアントが提出したCookieのYII_CSRF_TOKEN値を比較します.同じ場合は実行を続行し、異なる場合は400の異常を放出します.「The CSRF token could not be verified.」.そこで、上記の問題が発生しました.自分で書いたフォームであれば、ビューページのフォームに非表示のトークン検証フィールドを追加する方法2、フォームに非表示の検証フィールドを追加することができます.
csrf検証をしたくない場合はメソッド1のtrueをfalseに変更し、YIIはpostフォーム検証処理をしません.
転載先:https://www.cnblogs.com/wepe/p/7424602.html
frontend/config/main-local.phpで
方法一、プロファイルで閉じる
'components'=>array(
'request'=>array(
// Enable Yii Validate CSRF Token
'enableCsrfValidation' => true,
),
),
Yiiフォームを使用してページを生成する場合、フォームの発行方法がPOSTであれば、いずれもページに非表示フィールドを追加します.この非表示フィールドはCSRFトークン検証フィールドユーザーがフォームを発行すると同時に、このフィールドをサーバ側に提出し、Yiiフレームワークはクライアントが提出した非表示フィールドとクライアントが提出したCookieのYII_CSRF_TOKEN値を比較します.同じ場合は実行を続行し、異なる場合は400の異常を放出します.「The CSRF token could not be verified.」.そこで、上記の問題が発生しました.自分で書いたフォームであれば、ビューページのフォームに非表示のトークン検証フィールドを追加する方法2、フォームに非表示の検証フィールドを追加することができます.
csrf検証をしたくない場合はメソッド1のtrueをfalseに変更し、YIIはpostフォーム検証処理をしません.
転載先:https://www.cnblogs.com/wepe/p/7424602.html