Maison >cadre php >YII >Comment supprimer csrf dans le framework yii

Comment supprimer csrf dans le framework yii

藏色散人
藏色散人original
2020-07-18 17:16:352965parcourir

Méthode du framework Yii pour supprimer csrf : 1. Désactivez csrf via la méthode "init" ; 2. Ajoutez un champ caché au formulaire ; 3. Ajoutez le champ "_csrf" à AJAX.

Comment supprimer csrf dans le framework yii

YII Comment désactiver csrf

La première solution est de désactiver CSRf

public function init(){
    $this->enableCsrfValidation = false;
}

La deuxième solution est d'ajouter un champ caché au formulaire

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

La troisième solution est d'ajouter le champ _csrf en AJAX

var csrfToken = $(&#39;meta[name="csrf-token"]&#39;).attr("content");
$.ajax({
  type: &#39;POST&#39;,
  url: url,
  data: {_csrf:csrfToken},
  success: success,
  dataType: dataType
});

Remarque : Si votre page n'a pas de formulaire, il y a Il n'y a aucun problème avec la soumission de publication ajax. L'utilisation de la soumission de publication ajax générera automatiquement _csrf

Si la page a un formulaire, en particulier un fichier, la publication ajax n'est pas possible et vous devez utiliser get.

Recommandé : "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