如何使用php跟踪相关视图

时间:2011-11-23 21:59:10

标签: php mysql statistics

我想使用php和mysql跟踪页面的所有视图。我将跟踪一个人查看该页面的次数和IP地址以及当前日期。但是有没有办法确保跟踪实际用户而不是机器人/蜘蛛?

3 个答案:

答案 0 :(得分:1)

我看到两个选项:

  1. 创建一个"隐藏"将您的主页上的链接指向honey pot。任何击中蜜罐页面的人都应被视为机器人而不包括在您的统计数据中
  2. 2:不是一种万无一失的方式,但您可以将浏览器的User Agent字符串与已知网络浏览器的白名单进行比较。这个字符串可以被欺骗,因此它不是最可靠的。

    就个人而言,我选择第一个选项。

    对于蜜罐:

    在您的主页上

    我添加如下内容:

    <a href="totallyNotATrap.php" style="Display:none">ReallyNotATrap</a>
    

    并在蜜罐页面本身就是这样的:

    $BotIp=$_SERVER['REMOTE_ADDR'];
    //DB connection 
    Insert into BlackList($BotIp,$Date,$otherDataYouCareAboutLogging);
    //close DB Connection
    

    然后,对于您的统计代码,只需将每个用户的Ip与BlackList表进行比较。如果用户不在其上,请记录统计数据。

    修改

    正如下面所指出的,googlebot可能会受到欺骗。如果这对您来说很重要(如果您只是过滤自己的统计数据而不过滤内容就不重要了),请将您的蜜罐页面包含在Robots.txt中。 Google将读取文本文件并避免陷阱。其他令人讨厌的机器人也会陷入困境。由于Google会避开我们的陷阱,我还会使用选项2并从统计信息中过滤掉Google的用户代理字符串。

答案 1 :(得分:0)

真实用户的数量应该与真实用户的数量基本相同 - 机器人。如果您愿意,可以查看用户代理,该代理将告诉您谁正在浏览该网站。

答案 2 :(得分:0)

你可以尝试我的跟踪脚本,实现非常简单,机器人和蜘蛛会成为一个双层浏览器,因此很容易将它们清除掉。我在我公司的所有网站上使用它来进行分析。但有一点需要注意,如果你使用它进行关键字跟踪,你可能会很快失望,因为谷歌已经开始change the structure of their query strings登录用户。

https://github.com/k4t434sis/tracking.php