Heim >PHP-Framework >YII >So entfernen Sie CSRF im YII-Framework

So entfernen Sie CSRF im YII-Framework

藏色散人
藏色散人Original
2020-07-18 17:16:352960Durchsuche

Methoden zum Entfernen von csrf im yii-Framework: 1. Deaktivieren Sie csrf über die „init“-Methode. 2. Fügen Sie dem Formular ein ausgeblendetes Feld hinzu. 3. Fügen Sie das Feld „_csrf“ zu AJAX hinzu.

So entfernen Sie CSRF im YII-Framework

YII So deaktivieren Sie csrf

Die erste Lösung besteht darin, CSRf auszuschalten

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

Die zweite Lösung besteht darin, dem Formular ein verstecktes Feld hinzuzufügen

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

Die dritte Lösung besteht darin, das Feld _csrf zu AJAX hinzuzufügen

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

Hinweis: Wenn Ihre Seite kein Formular hat, dort Mit der Ajax-Post-Übermittlung ist das kein Problem. Wenn die Seite ein Formular hat, insbesondere eine Datei, ist die Ajax-Post-Übermittlung nicht möglich und Sie müssen get verwenden.

Empfohlen: „

yii-Tutorial

Das obige ist der detaillierte Inhalt vonSo entfernen Sie CSRF im YII-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn