Heim  >  Artikel  >  PHP-Framework  >  Gründe, warum das yii2-Cookie nicht abgerufen werden kann

Gründe, warum das yii2-Cookie nicht abgerufen werden kann

(*-*)浩
(*-*)浩Original
2019-11-05 11:55:483152Durchsuche

Yii2-Cookies werden hauptsächlich über yiiwebRequest und yiiwebResponse betrieben

Gründe, warum das yii2-Cookie nicht abgerufen werden kann

über Yii::$app-> >getCookies()->add() Cookie hinzufügen

Cookie über Yii::$app->request->cookies lesen (Empfohlenes Lernen: yii-Tutorial)

In js erstellte Cookies werden standardmäßig mit der Methode Yii::$app->request->cookies->get('abc') in yii2 abgerufen und können abgerufen werden Wenn Sie $_COOKIE['abc'] verwenden, hat dies folgende Gründe.

Wenn man sich Zeile 1218 in E:myYiiDemovendoryiisoftyii2webRequest.php ansieht, ist es nicht schwer zu erkennen, dass Wenn die Methode in yii2 verwendet wird, um das Cookie zu erhalten, die Zeichenfolge im cookieValidationKey gelesen wird entschlüsseln (das Cookie wird gespeichert und manchmal auch zur Verschlüsselung verwendet).

Da js das Cookie nicht verschlüsselt, kann es hier nicht entschlüsselt werden und das Cookie kann natürlich nicht abgerufen werden.

Die Lösung besteht darin, „enableCookieValidation“ auf „false“ zu setzen. Die spezifischen Vorgänge sind wie folgt:

Yii::$app->request->enableCookieValidation = false;
Yii::$app->request->cookies->get('abc');

Warme Erinnerung:

Denken Sie daran, es nach der Verwendung wiederherzustellen (Yii::$app->request->enableCookieValidation = true;), da es sonst Auswirkungen auf die folgende Logik haben kann.

Das obige ist der detaillierte Inhalt vonGründe, warum das yii2-Cookie nicht abgerufen werden kann. 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