Heim  >  Artikel  >  PHP-Framework  >  yii2 So lösen Sie das Problem, dass die von Ihnen übermittelten Daten nicht überprüft werden können

yii2 So lösen Sie das Problem, dass die von Ihnen übermittelten Daten nicht überprüft werden können

angryTom
angryTomOriginal
2019-11-06 16:01:217704Durchsuche

yii2 So lösen Sie das Problem, dass die von Ihnen übermittelten Daten nicht überprüft werden können

yii2 Was soll ich tun, wenn die von Ihnen übermittelten Daten nicht überprüft werden können?

In yii stoße ich oft darauf Sie übermitteln die Daten nicht. Dies liegt daran, dass yii über eine CSRF-Überprüfung verfügt.

a) Fügen Sie

public $enableCsrfValidation = false;
im Controller hinzu

b) Fügen Sie ein verstecktes Feld in der Form

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

hinzu. In der erweiterten Version wird es jedoch ein Frontend und ein Backend geben, was bedeutet, dass der Name nicht unbedingt _csrf ist, sondern möglicherweise _csrf-backend oder _csrf-frontend und so weiter.

Der Feldname von _csrf muss mit der aktuellen Seite übereinstimmen

c) Ajax-Übermittlung

Ich verwende die Axios-Ajax-Bibliothek, aber sie sind alle ähnlich

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

Empfohlen: „

YII-Tutorial

Das obige ist der detaillierte Inhalt vonyii2 So lösen Sie das Problem, dass die von Ihnen übermittelten Daten nicht überprüft werden können. 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