Maison  >  Article  >  cadre php  >  Dans yii2.0, il indique à csrf que les données que vous avez soumises ne peuvent pas être vérifiées.

Dans yii2.0, il indique à csrf que les données que vous avez soumises ne peuvent pas être vérifiées.

王林
王林original
2019-12-13 16:50:413358parcourir

Dans yii2.0, il indique à csrf que les données que vous avez soumises ne peuvent pas être vérifiées.

Dans yii, nous rencontrons souvent la situation dans laquelle "les données que vous avez soumises ne peuvent pas être vérifiées". C'est parce que yii a une vérification csrf.

Désactivez simplement la vérification csrf.

1. Ajouter

public $enableCsrfValidation = false;

dans le contrôleur 2. Ajouter un champ caché sous le formulaire

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

Cependant, dans la version avancée, il y aura du front et du backend, c'est-à-dire que le nom n'est pas nécessairement _csrf, il peut s'agir de _csrf-backend ou _csrf-frontend, etc. Le nom du champ

_csrf doit être cohérent avec la page actuelle.

3. Soumission Ajax

La bibliothèque ajax axios est utilisée ici

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 => {
    // 请求失败 回调
})

Tutoriels d'articles connexes recommandés : Tutoriel yii

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn