关于YII Session与Cookie的有效期的问题和cookie与session的关系
程序员文章站
2024-04-05 15:12:24
...
1.在YII的loginForm中间,有一个login方法用来设置记住用户名的时间:
public function login()
{
if($this->_identity===null)
{
$this->_identity=new UserIdentity($this->username,$this->password);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
{
$duration=$this->rememberMe ? 3600*24*10 : 0; // 10 days
Yii::app()->user->login($this->_identity,$duration);
return true;
}
else
return false;
}
}
如上,假如我把$duration=$this->rememberMe ? 36002410 : 0; // 10 days,即我设置为10天。是cookie的有效期设置为10天,还是cookie和session的有效期都设置为10天呢?
我想把session的有效期设置10天。不知道在哪里可以设置。
还有一个问题,假如cookie是10天,session只有半个小时。第二天我带着cookie登录的时候,是不是PHP根据cookie生成了一个session。
还是php自动生成了session,然后把sessionID重新写回到cookie中间去呢?
回复内容:
1.在YII的loginForm中间,有一个login方法用来设置记住用户名的时间:
public function login()
{
if($this->_identity===null)
{
$this->_identity=new UserIdentity($this->username,$this->password);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
{
$duration=$this->rememberMe ? 3600*24*10 : 0; // 10 days
Yii::app()->user->login($this->_identity,$duration);
return true;
}
else
return false;
}
}
如上,假如我把$duration=$this->rememberMe ? 36002410 : 0; // 10 days,即我设置为10天。是cookie的有效期设置为10天,还是cookie和session的有效期都设置为10天呢?
我想把session的有效期设置10天。不知道在哪里可以设置。
还有一个问题,假如cookie是10天,session只有半个小时。第二天我带着cookie登录的时候,是不是PHP根据cookie生成了一个session。
还是php自动生成了session,然后把sessionID重新写回到cookie中间去呢?
session是存在服务器上的,
cookie是存在于客户端上的也就是你自己的电脑,
你浏览器关掉,session就会失效的,
session的有效期有服务器的设置来控制
推荐阅读
-
关于YII Session与Cookie的有效期的问题和cookie与session的关系
-
PHP基于cookie与session统计网站访问量并输出显示的方法,cookiesession
-
Yii2.0中的COOKIE和SESSION用法
-
PHP根据session与cookie用户登录状态操作类的代码
-
解析PHP的Yii框架中cookie和session功能的相关操作
-
对比分析php中Cookie与Session的异同
-
YII学习第三,SESSION和COOKIE的使用
-
Django中的cookie与session详解和理解
-
PHP 超简单的SESSION与COOKIE制作登录验证
-
【Spring boot】session与cookie的使用