PHP关闭页面后将用户注销(标签)

时间:2010-12-05 07:06:35

标签: php session cookies

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

您无法可靠地找出用户关闭页面的时间 - 导航到您身边的其他子页面时也会触发与卸载相关的事件。 因此,最常见的解决方案是在x分钟不活动后简单地暂停会话。

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

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