php - 如何检查访问者的 IP 地址是否仍然有效或在线?

标签 php javascript

是否可以使用他们的 IP 地址检查访问者是否仍然在线?

我已经创建了一个 javascript 和 php 来检查访问者的 ip 地址,当他们使用 onLoad 和 onBeforeUnload 事件打开我的页面之一时。但在某些情况下,我的脚本无法检测到访问者是否仍在打开我的网站。因为 onBeforeUnload 并不总是可靠的。

在这种情况下,我想知道是否有其他方法可以检测访问者是否仍然在线。

如果访问者仍然打开页面但没有阅读它,因为他/她可能正在阅读其他站点或运行其他程序,我仍会认为他/她在线。

但是,如果访问者关闭了浏览器,但我的脚本无法检测到它的卸载事件,我想知道他/她是否仍然在线。

PHP 或 javascript 对我来说没问题。

最佳答案

您应该创建通过 ajax“ping”(发送请求,可以为空)服务器的 JavaScript 代码。该请求应该依次“标记”该用户在 PHP 中处于事件状态(可能在数据库中,或者您使用的任何存储方法中)。您可以引用您的存储以查看用户是否在线。

或者,您可以在没有 AJAX 的情况下使用它,但是您需要在站点中对每个页面请求(每次遍历页面)执行此“ping”操作。以这种方式,只要用户登录,PHP 就会“标记”用户访问的每个页面。

如果该用户被“标记”为活跃超过某个阈值(比如 30 分钟),则认为他处于离线状态。

此功能不需要 IP 地址。您只需要知道用户仍被标记为在线即可。

关于php - 如何检查访问者的 IP 地址是否仍然有效或在线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9450736/

相关文章:

用于记录 POST 原始数据的 PHP 脚本

javascript - 是否可以将 promise 传递给其他中间件并在那里解决?

Javascript call() 方法未生成预期输出

php - Amazon Cloudfront 签名 URL 访问被拒绝问题

javascript - 在浏览器上读取字符串

javascript - 如何根据这段js代码使下拉立即响应?

javascript - 使用 X 和 Y 坐标定位元素

javascript - NodeJS canvas.createJPEGStream 创建空文件

javascript - 工作 JQuery 脚本在 ajax post 响应后不起作用

PHP 如何解压 Apple APNS 反馈数据