ホームページ > バックエンド開発 > PHPチュートリアル > Yii2:使用js设置的cookie是不是不能同yii的cookie组件读取?

Yii2:使用js设置的cookie是不是不能同yii的cookie组件读取?

WBOY
リリース: 2016-06-06 20:12:51
オリジナル
1012 人が閲覧しました

使用js设置的cookie,通过yii的

<code>$cookies=Yii::$app->request->cookies;
$cookies['name']->value;</code>
ログイン後にコピー
ログイン後にコピー

无法读取,但是使用$_COOKIE变量可以读取,不知道是怎么回事?

回复内容:

使用js设置的cookie,通过yii的

<code>$cookies=Yii::$app->request->cookies;
$cookies['name']->value;</code>
ログイン後にコピー
ログイン後にコピー

无法读取,但是使用$_COOKIE变量可以读取,不知道是怎么回事?

Yii2 在加载cookies的时候会校验cookies是否合法,不合法的cookies不会载入到cookies这个只读属性里面

Yii2 对 cookie 的设置和读取有加解密的过程,你用 js 设置的 cookie 没有加密,Yii2 读取到之后,发现这个 cookie 不合法,所以你用 Yii::$app->request->cookies 无法读取到,而 $_COOKIE 可以读取到。对于这种情况,你就直接使用 $_COOKIE['name'] 吧。
深入了解可以看一下 yii\web\Request::$cookieValidationKey 这个属性。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート