Maison  >  Article  >  cadre php  >  yii csrf Les données que vous avez soumises ne peuvent pas être vérifiées

yii csrf Les données que vous avez soumises ne peuvent pas être vérifiées

王林
王林original
2020-02-20 14:35:592035parcourir

yii csrf Les données que vous avez soumises ne peuvent pas être vérifiées

Solution :

1. Désactivez la vérification csrf

Ajoutez

public $enableCsrfValidation = false;

dans le contrôleur 2. Ajouter un champ caché dans 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, ce qui signifie que le nom n'est pas forcément _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.

Tutoriel recommandé : framework yii

3. Soumission Ajax

J'utilise la bibliothèque ajax axios, mais elles sont toutes similaires. .

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

Pour plus de contenu lié à la programmation, veuillez faire attention à la colonne Introduction à la programmation sur le site Web chinois de PHP !

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