• 技术文章 >后端开发 >php教程

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

    2016-06-06 20:12:51原创548

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

    $cookies=Yii::$app->request->cookies;
    $cookies['name']->value;

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

    回复内容:

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

    $cookies=Yii::$app->request->cookies;
    $cookies['name']->value;

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

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

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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:yii2 yii php框架 php
    上一篇:php地址控制器如何隐藏 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP8.3要有新函数了!(json_validate函数说明)• 设计API接口时,要注意这些地方!• PHP网站常见一些安全漏洞及防御方法• ThinkPHP控制器里javascript代码不能执行的解决方法_PHP• php实现refresh刷新页面批量导入数据的方法_PHP
    1/1

    PHP中文网