我正在使用PHP会话。它工作得很好,除非我退出浏览器然后返回网页,会话已经过期。如何防止此操作/设置会话的到期时间?
答案 0 :(得分:2)
您可以更改session.cookie_lifetime
的配置,以便浏览器不会在关闭时将会话的cookie丢弃(您只需给它几秒钟,然后设置到期日期)......
// assuming you can't change your php.ini file
ini_set('session.cookie_lifetime', 3600); // one hour
...但是您希望会话保持多久可行?因为您需要担心的另一个配置设置是session.gc_maxlifetime
,它会设置(再次,以秒为单位)会话数据在被认为是垃圾之前允许存在多长时间(我相信?)。
session.gc_maxlifetime
的默认值为1,440秒,或大约24分钟。
答案 1 :(得分:1)
考虑提到的安全风险。延长会话寿命, 您可以在开始会话之前设置会话cookie的生命周期,如下所示。
$lifetime=60*60*24*14; //2 weeks in seconds. you can change the time as you wish
session_set_cookie_params($lifetime, '/');
session_start();