我的 php 网页中有一个简单的函数,可以使用以下查询来计算页面的浏览量。
UPDATE tbl_threads SET views = (views+1);
从过去 4 个月开始,它在我的网站上运行良好。但是今天,几分钟前,突然我的一篇文章的浏览量开始增加 100 / 分钟。我认为有人(一些黑客)正在渗透我的网站。我该如何控制它?我该如何解决这个问题。然后过了一段时间,又有一篇文章的浏览量开始以同样的速度增加。当我在谷歌分析中查看我的流量统计时,流量是正常的。请帮我。
在会话中设置一个标志,将他们标记为已被计为访客:
$_SESSION['didVisit'] = 1;
然后在更新数据库之前,确保它没有设置:
if( !isset( $_SESSION['didVisit'] )
// DO DATABASE UPDATE
您还可以设置一个常规 cookie,指示您将用户计为视图。然后当他们进来时,在更新数据库之前先检查该 cookie 是否存在。这样,他们每次都必须删除他们的 cookie 才能算作新视图。
如果您认为机器人正在访问您的网站,因此无法使用 cookie 正常工作,您可以获取多个 $_SERVER 信息,并(如上面的评论中所述)尝试创建一个唯一的哈希并将其存储在数据库来识别访客。
现在大多数机器人(无论如何都是友好的)已经定义了用户代理,您可以检查并忽略这些点击:http ://www.monperrus.net/martin/list+of+robot+user+agents和http:// www.robotstxt.org/db.html
尝试仅计算来自唯一 IP 地址的页面浏览量,这样每次用户重新加载您的页面时,页面浏览量都不会增加。