我有一个网站项目,可以计算某些页面的浏览量。我将这些视图存储为 ip 地址和日期,因此我知道当用户在该页面上单击几次时,它只计算 1 次。
问题是,当他们访问我的网站时,我还希望消除搜索机器人计入真实用户的情况。
我通常在其他网站上通过将 IP 转换为真实地址,并将字符串与“google”等进行比较
但这有时需要 3-4 秒才能转换为真实地址,这使我的网站变慢。
我该如何解决这个问题?
更新
我研究了更多,我想出了这个简单的解决方案(根据你的答案)
$global_bots = array("bot", "slurp", "spider", "crawl", "archiver", "facebook");
// 上面的这个变量进入我的全局设置文件中,该文件包含在我的所有文件中
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$bot_count = 0;
do{
$pos = stripos($user_agent, $global_bots[$bot_count]);
$bot_count++;
}while($pos===false && ( $bot_count < count($global_bots) ) );
if($pos!==false){
//check if user already clicked today on this page, else record his ip
}else{
//don't record it, it's mostly a BOT
}
如果您对此有任何其他更新,例如在机器人中发现的字符串,请随时快速回答。
谢谢。