Ich habe einen Cookie in web / js / site.js gesetzt:
%Vor%Ich habe den Cookie mit PHP gelesen:
%Vor%Ist es möglich, auch die Yii Request Component zu verwenden, um solche Cookies zu lesen? Der folgende Code liest den Cookie nicht:
%Vor%Siehe: Ссылка
Wenn ich einen neuen Cookie über die Yii Response Component einstelle:
%Vor%Dann sieht der Wert des Cookies so aus (weil der Cookie geschützt ist):
%Vor%Ein solcher Cookie kann die Yii Request Component lesen. Aber kann es auch ungeschützte Cookies lesen?
Oder ist es möglich, die geschützten Yii-Cookies mit JavasSript / jQuery (ohne Verwendung von AJAX) zu setzen?
Um einen Cookie zu lesen, der von Javascript gesetzt wurde, müssen Sie in den Konfigurationen config/web.php
festlegen, dass einige Eigenschaften der Anforderungskomponenten false
wie folgt lauten:
Dies ermöglicht das Lesen von Cookies, die mit Javascript wie folgt eingestellt wurden:
%Vor% Die obige Lösung hat möglicherweise Sicherheitsprobleme , weil wir die enableCookieValidation
und enableCsrfValidation
für alle Cookies storniert haben. Es gibt also eine andere Lösung, die es ermöglicht, diese Validierungen für ein bestimmtes Cookie zu überspringen. Nehmen wir den theme
-Cookie, den wir gerade im obigen Beispiel benutzt haben, verwenden wir den zweiten Parameter der getValue()
-Methode, also den Standardwert wie Folgendes:
Mit der obigen Lösung können Sie enableCookieValidation
und enableCsrfValidation
als true
behalten und sie nur für ein bestimmtes Cookie umgehen.
Tags und Links yii2