首頁 > php框架 > YII > yii2 cookie取不到的原因

yii2 cookie取不到的原因

(*-*)浩
發布: 2019-11-05 11:55:48
原創
3208 人瀏覽過

Yii2的Cookie主要是透過yii\web\Request和yii\web\Response進行操作

yii2 cookie取不到的原因

透過\Yii::$app->response->getCookies()->add()新增Cookie

透過\Yii::$app->request->cookies讀取Cookie.   (推薦學習:yii教學

在js中建立的cookie,預設用yii2中自帶的方法Yii::$app->request->cookies- >get('abc')取得不到,而用$_COOKIE['abc']又是能取得到,則是以下原因照成的。

查看E:\myYiiDemo\vendor\yiisoft\yii2\web\Request.php中的1218行不難看出,使用yii2中的方法取得cookie的時候,會讀取cookieValidationKey中的字符串來解密(存cookie的時候也會用它來加密)。

由於js並沒有對cookie加密,所以這裡解不開,自然取得不到cookie了。

解決方法可以將enableCookieValidation設定為false,具體操作如下:

Yii::$app->request->enableCookieValidation = false;
Yii::$app->request->cookies->get('abc');
登入後複製

溫馨提示:

#用完後記得恢復回來(Yii::$app->request->enableCookieValidation = true;),否則可能會影響下面的邏輯。

以上是yii2 cookie取不到的原因的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板