我一直在跟踪用户的登录时间。关闭整个浏览器后,他们将注销; 但是当他们仅关闭标签页(只有一个标签页),并在几分钟之内导航回到网站时,他们将再次登录。
有人告诉我,可以在服务器配置中更改此行为。 有人知道吗?
我正在使用PHP 5.2和Apache。 只是普通的网络服务器。 我也在使用Kohana 3 PHP框架。 为了登录用户,在其中设置了一个带有cookie的会话,在cookie中有一个会话ID。
谢谢!
谁告诉你这是不正确的; 没有服务器配置选项可帮助您检测用户何时离开页面。 网络并非以这种方式工作。
您无法可靠地确定用户何时关闭页面-导航到您身边的另一个子页面时也会触发与卸载相关的事件。
因此,最常见的解决方案是在闲置x分钟后使会话超时。
此外,如果您设置的会话(id)Cookie没有到期时间("会话Cookie"),则在关闭浏览器时,它们将被删除。
顺便说一句,对于您的请求而言,一个不太理想的"解决方案"可能是将会话到期时间设置为非常低的值(30秒),并且每隔15-20分钟在后台通过AJAX请求"刷新"会话 秒。 但是,如果某人的连接速度很慢,则该请求可能到达得太迟,此外,此解决方案还会导致大量不必要的流量。