Les cookies Yii2 sont principalement exploités via yiiwebRequest et yiiwebResponse
via Yii::$app-> >getCookies()->add() Ajouter un cookie
Lire le cookie via Yii::$app->request->cookies (Apprentissage recommandé : tutoriel yii)
Les cookies créés dans js sont obtenus par défaut en utilisant la méthode Yii::$app->request->cookies->get('abc') dans yii2 , et ils peuvent être obtenus. en utilisant $_COOKIE['abc'], cela est dû aux raisons suivantes.
En regardant la ligne 1218 dans E:myYiiDemovendoryiisoftyi2webRequest.php, il n'est pas difficile de voir que Lorsque vous utilisez la méthode dans yii2 pour obtenir le cookie, la chaîne dans cookieValidationKey sera lue décrypter (le cookie est stocké. Il sera également utilisé parfois pour le cryptage).
Puisque js ne crypte pas le cookie, il ne peut pas être déchiffré ici, et naturellement le cookie ne peut pas être obtenu.
La solution est de définir activateCookieValidation sur false. Les opérations spécifiques sont les suivantes :
Yii::$app->request->enableCookieValidation = false; Yii::$app->request->cookies->get('abc');
Rappel chaleureux :
.N'oubliez pas de le restaurer après utilisation (Yii::$app->request->enableCookieValidation = true;), sinon cela peut affecter la logique suivante.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!