每当用户打开详细信息页面时,我都会有一个网站记录“点击(通过将记录保存到Hits表,捕获加载详细信息页面时的机器的日期/时间和IP)”特定项目,以便管理员可以查看特定项目获得的点击次数。我们得到随机的实例,其中每两天都会多次击中物品。因此,在数据中,它看起来像用户正在查看项目,但该站点在数据库中记录了两次命中(相同的项目,相同的日期/时间,相同的IP地址等)。大多数点击仅被记录一次,我的所有测试都可以确保网站正常运行。我注意到特定的IP地址导致双击。当我进行反向IP搜索时,所有“双击”都与IP地址相关联,这些地址追溯到该国另一边的弗吉尼亚州北部的Amazonaws。我们的网站在本地使用,单个点击来自可追溯到当地的IP。是否有机器人从远处击中我的网站?我应该阻止Azure中的Amazonaws(这是我的网站托管的地方)还是会阻止真正的用户?有没有办法可以检测我的代码中的命中是否真实(我的网站是在.Net MVC中)?过去有没有人遇到过类似的情况?
注意:这与软件工程相关,因为问题的一部分是询问我如何在我的代码中验证命中是真的!!!!!!!!!!!!!!!!!! < / p>
答案 0 :(得分:1)
基本上,我发现的(不是感谢精英用户对我的问题进行了低估并且没有提供任何贡献)就是这样,我的点击计数器被网络抓取工具夸大了。快速而肮脏的解决方案是实现robots.txt文件以阻止抓取工具访问该页面。当然,如果公众对Google提供的产品进行谷歌搜索,那么我的客户网站将不再出现这种牺牲。
一种替代方法是隐藏链接方法;我们在网站上放置一个人类用户无法访问的隐藏页面。当机器人点击该页面时,我们将IP记录在&#34;黑名单&#34;表。然后,在我们的真实点击计数器记录命中之前,它会根据黑名单检查用户的IP。
另一种方法是实现机器人使用的已知用户代理的黑名单。我们根据该列表检查用户的凭据,以确定用户是否是机器人。
这些解决方案都不是100%。
这些是对我的问题的相当充分的回应。当然,由于这是StackExchange(或StackOverflow或StackYourMomma或其他任何东西),人们只会对你的问题进行投票,并且表现得像你在回应之下,因为你没有跟随所有的小公牛废话成为SE / SO / SYM社区成员的规则。