gpt4 book ai didi

php - 如何使用 php 和 jquery 跟踪访问者,从综合浏览量中确定唯一访问者

转载 作者:行者123 更新时间:2023-12-01 06:32:46 25 4
gpt4 key购买 nike

我想跟踪访问我网站的访问者。当访客到达时,我想将有新访客的信息添加到我的数据库中,并能够判断他们是回访者还是新访客。

最好使用 cookie 或 IP 地址来跟踪它们吗?将有一个名为“visitors”的表,其中包含“visitor_id”及其 IP 地址或 cookie 代码。另一个名为“访问”的表,它将跟踪每次“访问者”到达该网站的时间,包括访问 ID、访问者 ID 和日期/时间。

如何确定这是一次新访问还是只是另一个页面 View ?即网站上的每个页面都会有此代码来添加访问者,但我不希望在他们每次查看页面时将其记录为新访问。

我的另一个想法是使用 $_SERVER['HTTP_REFERER'],然后我可以告诉访问者没有从我的网站进行另一个页面浏览,但我不确定这有多可靠。

所以我想知道我们怎样才能做到这一点?

最佳答案

最好的方法是结合使用 IP 地址和 COOKIES。仅保存 IP 地址是不够的,因为当用户使用代理时它可能会经常更改。对于每个页面加载,您可以使用这样的代码

// Get IP address of user
function getUserIP() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}

// Check if cookie exists. If not then set new cookie. Return its value
function getUserCookie() {
if(isset($_COOKIE['visited'])) {
// cookie is already set
} else {
list($usec, $sec) = explode(" ", microtime()); // Micro time!
$expire = time()+60*60*24*30; // expiration after 30 day
setcookie("visited", "".md5("".$sec.".".$usec."")."", $expire, "/", "", "0");
}
return $_COOKIE['visited'];
}

如果没有访问者具有这些值,您可以将这两个值保存到数据库表访问者中,因此您可以说它是唯一的新访问者。如果访问者具有这些值之一,那么它就是回访者,因此您应该更新您的访问表。

但我认为只有一张 table 更好,因为你不认识你的访客。通过单个 sql 查询,您仍然能够区分唯一访客、页面浏览量、访客流量、访问时间等。

关于php - 如何使用 php 和 jquery 跟踪访问者,从综合浏览量中确定唯一访问者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42636845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com