浏览器关闭后,PHP会话将在Firefox中使用新的PHPSESSID恢复

时间:2016-03-28 02:54:30

标签: php session firefox

在Firefox(和Microsoft Edge)中,我看到了一些我认为不可能的东西。

  1. 我登录我的网站并获得PHPSESSID 6a47272fa6d7b4de2292966bf77ddb51
  2. 我关闭Firefox
  3. 我重新打开Firefox,我可以在选项中看到我的网站没有cookie 设置(正如我所料)
  4. 我在没有登录的情况下再次访问网站,我的会话仍处于活动状态(我仍然登录)但我的PHPSESSID现在是7d4117307c86faa7ea9dc7afe6b4b720
  5. 我不是在寻找修复方法。我只是想知道这种行为是如何可行的。如果Firefox在浏览器关闭后没有发送PHPSESSID,PHP怎么知道要恢复哪个会话?

    我没有在Chrome中看到这种情况(用户需要按照您的预期再次登录),但我确实看到它发生在Microsoft Edge中。

1 个答案:

答案 0 :(得分:0)

在Firefox中密切关注我的网络标签后。我发现PHP和Firefox都没记得我登录过。

相反,我的网站将我重定向到 Google登录并且 Google登录有非会话Cookie记住我已登录。所以它很快将我重定向回我的网站为同一用户创建新的登录会话。

这种情况发生的速度如此之快,以至于在我看到网络标签之前,我无法判断我是否被重定向到Google。

感谢Axalix的建议。