Lösung:
1. Deaktivieren Sie die CSRF-Überprüfung
Fügen Sie
public $enableCsrfValidation = false;
im Controller hinzu2.Fügen Sie ein verstecktes Feld im Formular hinzu
In der erweiterten Version wird es jedoch Front- und Backends geben, was bedeutet, dass der Name nicht unbedingt _csrf ist , es kann _csrf-backend oder _csrf-frontend usw. sein. Der Feldname von
_csrf muss mit der aktuellen Seite übereinstimmen.
Empfohlenes Tutorial:YII-Framework
3. Ajax-Einreichung
Ich verwende die Ajax-Bibliothek Axios, aber sie sind alle ähnlich.
axios({ url: url, headers:{ '' : ' request -> csrfToken; ?>' // _csrf验证 }, data: postData, }).then(response => { // 请求成功 回调 }).catch(error => { // 请求失败 回调 })
Weitere programmierbezogene Inhalte finden Sie in der SpalteEinführung in die Programmierungauf der chinesischen PHP-Website!
Das obige ist der detaillierte Inhalt vonyii csrf Die von Ihnen übermittelten Daten können nicht überprüft werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!