当Chrome关闭时,登录PHP会话被清除,在Firefox中持久存在

时间:2018-05-04 10:05:53

标签: php google-chrome session

我的登录脚本:

if (login_user($user_login, $password)){//Login check is verified
            ini_set('session.cookie_lifetime', 60 * 60 * 24 * 365);
            ini_set('session.gc_maxlifetime', 60 * 60 * 24 * 365);

            session_start();
            $user = get_user($user_login);
            $_SESSION['username'] = $user['username'];

当我登录进行测试时,会话在Firefox和Chrome上的不同页面之间处于活动状态。没问题。

但是,当我重新启动浏览器时,登录会话在Chrome中丢失,我仍然在Firefox中登录。

我试图谷歌问题,但主要指出的问题是我在我的根文件夹中缺少favicon。

修改

  • 我不知道它是否有帮助,但我在Chrome中找到了一个名为的cookie PHPSESSID(与我的网站相关),它基本上说“过期时间 浏览器关闭“。

  • 相同的Cookie PHPSESSID将于2019年5月3日星期五凌晨2:12:28到期

1 个答案:

答案 0 :(得分:1)

在这种情况下,您应该使用会话cookie来准确检查浏览器会话的时间 打开 - 这是该功能背后的想法。

  

您正在寻找的是类似于持久登录Cookie 的东西   "记住我" 主要用于登录表单的功能。基本上你   在用户的浏览器上设置加密的登录cookie,然后可以用它来自动验证用户。

Stack Overflow上的这个答案可能会有所帮助:Improved Persistent Login Cookie Best Practice