【问题标题】:PHP Session resumes after browser close with new PHPSESSID in Firefox在 Firefox 中使用新的 PHPSESSID 关闭浏览器后 PHP 会话恢复
【发布时间】:2016-03-28 11:20:01
【问题描述】:

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

  1. 我登录我的网站并获得PHPSESSID6a47272fa6d7b4de2292966bf77ddb51
  2. 我关闭了 Firefox
  3. 我重新打开 Firefox,我可以在选项中看到我的网站设置了没有 cookie(如我所料)
  4. 我在没有登录的情况下再次访问网站,我的会话仍处于活动状态(我仍在登录)但我的 PHPSESSID 现在是 7d4117307c86faa7ea9dc7afe6b4b720

我不是在寻找解决办法。我只想知道这种行为是如何发生的。如果 Firefox 在浏览器关闭后没有发送PHPSESSID,PHP 怎么知道要恢复哪个会话?

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

【问题讨论】:

  • 您是否在重新打开浏览器后的第一个请求期间检查了传递给服务器的内容?

标签: php session firefox


【解决方案1】:

在 Firefox 中密切关注我的网络选项卡之后。我发现 PHP 和 Firefox 都不记得我已经登录了。

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

事情发生得如此之快,直到我看到网络标签时,我才知道自己被重定向到了 Google。

感谢 Axalix 的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-15
    • 2011-12-17
    • 2012-04-11
    • 2013-08-22
    • 2012-07-29
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多