【问题标题】:PHP Log user out after closing the page (tab)PHP 关闭页面后注销用户(选项卡)
【发布时间】:2010-12-05 15:09:14
【问题描述】:

我正在跟踪用户登录的时间。在他们关闭整个浏览器后,他们就会退出;但是当他们只关闭选项卡(只有一个选项卡)并在几分钟内导航回网站时,他们会再次登录。

有人告诉我,可以在服务器配置中更改此行为。有人知道怎么做吗?

我正在使用 PHP 5.2 和 Apache。只是一个普通的网络服务器。我也在使用 Kohana 3 PHP 框架。对于登录用户,有一个带有 cookie 的会话集,在 cookie 中有一个会话 ID。

谢谢!

【问题讨论】:

  • 谁告诉你这是不正确的;没有服务器配置选项可以帮助您检测用户何时离开您的页面。网络不是为那样工作而构建的。

标签: php session cookies


【解决方案1】:

您无法可靠地确定用户何时关闭您的页面 - 与卸载相关的事件也会在您导航到您身边的另一个子页面时触发。 因此,最常见的解决方案是在 x 分钟不活动后简单地使会话超时。

此外,如果您设置的会话 (id) cookie 没有到期时间(“会话 cookie”),它们将在浏览器关闭时被删除。

顺便说一句,对于您的请求,不是很好“解决方案”可能是将会话到期时间设置为非常低的值(30 秒),并通过每约 15-20 秒在后台发出 AJAX 请求。但是,如果某人的连接速度很慢,请求可能会来得太晚,除此之外,此解决方案还会导致大量不必要的流量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多