ホームページ >PHPフレームワーク >YII >yii csrf 送信されたデータは検証できません
解決策:
1. csrf 検証をオフにする
コントローラーに
public $enableCsrfValidation = false;
を追加します 2、フォームに隠しフィールドを追加します
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app -> request -> csrfToken ?>">
ただし、上級バージョンではフロントエンドとバックエンドがあるため、名前は必ずしも _csrf であるとは限りません。 _csrf-backend や _csrf-frontend などです。
_csrf のフィールド名は、現在のページと一致している必要があります。
推奨チュートリアル: yii フレームワーク
3. Ajax の送信
私は axios ajax ライブラリを使用していますが、それらはすべて
axios({ url: url, headers:{ '<?php echo \yii\web\Request::CSRF_HEADER; ?>' : '<?php echo Yii::$app -> request -> csrfToken; ?>' // _csrf验证 }, data: postData, }).then(response => { // 请求成功 回调 }).catch(error => { // 请求失败 回调 })
さらにプログラミング関連のコンテンツについては、php 中国語 Web サイトの プログラミング入門 列に注目してください。
以上がyii csrf 送信されたデータは検証できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。