我认为机器人和爬虫增加了我的阅读次数时出现了问题(基本上是博客文章中的点击计数器,每次刷新都会增加+1)。
有什么办法可以过滤掉漫游器和爬虫?我想也许可以使用$_SERVER['HTTP_USER_AGENT']
进行过滤,但是我不确定该如何处理或是否可以使用
或者即使有人有更好的主意...
答案 0 :(得分:1)
您可以使用此技巧来检查浏览器是否确实启用了cookie和javascript,大多数机器人没有,但大多数机器人确实伪造了有效的用户代理。
$browser = get_browser(null, true);
if($browser['javascript'] !== 1 || $browser['cookies'] !== 1){
//probably a bot
}
另一种可能也失败的方法是检查会话是否已启动。许多机器人由于不接受Cookie或未启用Cookie,因此无法启动会话(由于标头中缺少cookie数据)。
if(!$_SESSION){//bot probable}
甚至检查您在会话开始时设置的会话变量
if(!isset($_SESSION['your_var'])){ //bot probable}