ホームページ >PHPフレームワーク >YII >yii csrf 送信されたデータは検証できません

yii csrf 送信されたデータは検証できません

王林
王林オリジナル
2020-02-20 14:35:592079ブラウズ

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:{
        &#39;<?php echo \yii\web\Request::CSRF_HEADER; ?>&#39; : &#39;<?php echo Yii::$app -> request -> csrfToken; ?>&#39; // _csrf验证
    },
    data: postData,
}).then(response => {
    // 请求成功 回调
}).catch(error => {
    // 请求失败 回调
})

さらにプログラミング関連のコンテンツについては、php 中国語 Web サイトの プログラミング入門 列に注目してください。

以上がyii csrf 送信されたデータは検証できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。