【问题标题】:Chrome not destroying native session on window closeChrome 不会在窗口关闭时破坏本机会话
【发布时间】:2015-02-05 03:45:49
【问题描述】:

我遇到了一个令人不安的问题:当关闭标签页或整个 chrome 浏览器时,chrome 不会破坏本机会话。如果在 Chrome 的设置中选择了“从您离开的地方继续”选项,就会发生这种情况。我想找到一种方法来确保 Chrome 正在销毁会话(删除会话 cookie),而不管用户如何配置他们的个人 Chrome 设置。

这是我用来测试会话是否存在的示例代码:

<?php 
    session_start(); 
    if ( isset($_SESSION['check'])) echo 'An active session was found.';
    else
    {
        $_SESSION['check'] = TRUE;
        echo 'An inactive session was found and activated.';
    }
?>

为了测试浏览器的会话破坏功能,我在浏览器中打开此代码,然后关闭浏览器并重新打开它。此过程后的输出如下:

Firefox:找到并激活了一个非活动会话。
Explorer:找到并激活了一个非活动会话。
Chrome:找到一个活动会话。

如何确保在关闭选项卡或浏览器时正确销毁会话?

【问题讨论】:

    标签: php google-chrome session cookies


    【解决方案1】:

    根据我对RFC 6265 浏览器的解释,不需要在进程关闭时删除所谓的“会话 cookie”(那些没有设置到期日期的)。

    因此,不依赖特定实现而是依赖规范是有意义的。

    在你的情况下,这意味着:不可能做你想做的事;你需要重新考虑你的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 2010-10-31
      • 2015-07-02
      相关资源
      最近更新 更多