防止漫游器夸大我的读取/点击计数?

时间:2018-07-04 21:16:46

标签: php

我认为机器人和爬虫增加了我的阅读次数时出现了问题(基本上是博客文章中的点击计数器,每次刷新都会增加+1)。

有什么办法可以过滤掉漫游器和爬虫?我想也许可以使用$_SERVER['HTTP_USER_AGENT']进行过滤,但是我不确定该如何处理或是否可以使用

或者即使有人有更好的主意...

1 个答案:

答案 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}