php - 检测用户退出站点

标签 php javascript session detect

我很想检测用户何时离开我的网站,以便准确记录相关用户的 session 时长。我想到了几个可能的解决方案:

我首先想到我可以使用 onbeforeunload 并发送一个简单的 ajax 来记录最后一个事件,但实践告诉我,onbeforeunload 目前是不可靠的,使用它是个坏主意,因为它不是跨浏览器。

然后我想我可以使用cookie来记录用户的 session 长度,每次用户显示事件时分别增加cookie值。这里的问题是我无法检测到哪个是用户的最后一次事件,并且我可以安全地插入 session 长度并知道它是准确的唯一可能方法是当用户已经有一段时间没有登录并且 cookie 的值是最后一个 session 长度。这不适合我,因为许多用户可能只打开该网站一次而再也不会访问它(例如),那么这些用户都不会被记录下来。

有人能解决这个问题吗?我似乎进行了搜索,但没有找到令人满意的答案。

提前致谢!

最佳答案

您无法判断用户何时离开您的网站,这根本不受 Internet 底层技术的支持。您所能做的就是在 session 过期之前告知最后一次请求的时间。

关于php - 检测用户退出站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885544/

相关文章:

php - 根据其他列获取列信息

javascript - 将PHP放入JavaScript中会导致有关缺少的错误)

javascript - 我应该如何存储我的 javascript 变量?

php - 基于 Debian 的系统 session 在特殊 cron 中的 30 分钟被杀死,如何覆盖?

php - 简化 PHP 中的长 IF 语句

php - mysql insert into if not exists 从单独的表

javascript - 如何在html中使用javascript动态替换隐藏值

javascript - Webpack 输出中的 "multi"是什么?

java - Spring MVC 和 Freemarker/Velocity

php - 如何使用邻接表方法从分层存储的 SQL 数据创建多维数组?