ホームページ >PHPフレームワーク >YII >yii2.0 では、送信したデータを検証できないことを csrf に通知します。

yii2.0 では、送信したデータを検証できないことを csrf に通知します。

王林
王林オリジナル
2019-12-13 16:50:413395ブラウズ

yii2.0 では、送信したデータを検証できないことを csrf に通知します。

yii では、「送信したデータが検証できない」という状況がよく発生しますが、これは yii に csrf 検証があるためです。

csrf 検証をオフにするだけです。

1. コントローラに

public $enableCsrfValidation = false;

を追加します。 2. フォーム

<input name="_csrf"
       type="hidden"
       id="_csrf"
       value="<?= Yii::$app -> request -> csrfToken ?>">

に隠しフィールドを追加します。ただし、上級バージョンでは、フロントエンドとバックエンドが存在します。名前は必ずしも _csrf である必要はなく、_csrf-backend や _csrf-frontend などの場合もあります。

_csrf のフィールド名は、現在のページと一致している必要があります。

3. Ajax の提出

ここで使用する 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 => {
    // 请求失败 回调
})

推奨関連記事チュートリアル: yii チュートリアル

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

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