我们有一种情况,我们logging访问和访客页面点击和机器人堵塞我们的数据库。 我们不能使用validation码或其他技术,因为这之前我们甚至要求人为的input,基本上我们正在logging页面点击,我们只想logging人类的页面点击。
有一个已知的bot IP列表吗? 检查已知的bot用户代理是否工作?
有这几个要素追求。
用户代理string是一个值,但它可以被平凡欺骗。
我发现一个相当有用的启发式是做一些预处理,然后看stream量:
parsing出您的访问日志,添加主机,ASN,CIDR和ASN名称信息。 子集的URL到nonvariant部分(剥离一切过去'?'通常,虽然YMMV)。 如果您有特定的search或实用页面,请关注这些页面(通常我会遇到使用某种用户validation服务的漫游器或search时遇到的问题)。
查找具有大量stream量的单个IP。
查找具有大量stream量的单个CIDR块或ASN。
排除合法的searchstream量(谷歌,必应,雅虎,百度,Facebook和类似的机器人/networking空间)。 这可能会是你正在进行维护的更大的领域之一,这个东西总是在变化。
排除合法的用户stream量。 特别是对于您的网站的大批量用户。
确定最终用户和search机器人的正常使用模式。 如果一个典型的用户每分钟访问1-3页,典型的会话时间为5-10分钟,而Googlebot会将其限制为每分钟10次,而您突然看到一个IP或CIDR块会点亮数百或者数以千计的search每分钟,你可能已经发现你的问题。
调查高stream量/高影响(消极意义上)stream量的起源。 通常情况下,WHOIS查询将显示这是某种托pipe空间 – 通常不会看到许多合法用户stream量。 模式可能出现在用户代理string,请求URL,引用string等中,这些字符会将您带到其他模式。
如果您最终进行了大量的WHOIS查询,那么cachingwhois客户端可能会是一个很大的帮助,无论是过程的速度,还是为了避免注册服务商的速度限制/限制(出于某种原因,他们不会对实体数以千计的重复/自动查找)。 你也许可以直接去注册商那里获取更多的信息,尽pipe我没有这样做。
检查各种信誉数据库(垃圾邮件查找,SenderBase,现在有一些谷歌的东西)也可能证实pipe理不善的networking空间。
我很乐意说我有一些东西可以推销这些产品,但是我正在使用的主要是一些awk和其他工具来把它们合在一起。 它将在一个适中的工作站上每分钟parsing一百万行日志(加上一点准备开销,为IP和ASN / CIDR信息做准备)。 不是完全自动化的,但是只要几分钟的工作,它就能给我一个像样的问题。
我想从系统pipe理员的angular度来看,定期从单个IP重复点击会表示可能的机器人。 你可以通过简单的parsing日志来find它。
我可能会首先筛选出大量匹配的IP。 然后用这些命中的次数填充一个数组,也许看看这些命中之间的间隔的标准偏差。
像这样的解决scheme的明显优势是,如果你正在全职pipe理员工,可以写一些相当有趣的东西;-)
快速谷歌search显示这个网站 。 这可能是一个很好的起点。
仅检查用户代理可能是不够的,因为用户代理可以被容易地伪造。
实际上有一个新的技术在打击更大规模的机器人。 这对编程媒体购买者可能有所帮助。 这就是所谓的设备指纹,它本质上取代了基于cookie的访问者跟踪。 其背后的前提是cookies通常被欺诈者使用,IP地址也可以通过VPN来改变。 另一方面,指纹仍然是设备,IP和GEO所独有的,不能改变。 有几个网站提供这个解决scheme – 诈骗网 , CPA侦探和Distil – 仅举几例。
这项技术当然有其局限性。 如果你不想深入挖掘并安装其他工具,你可以消除GA中的机器人。 这里有几个已知的机器人领域,你绝对应该阻止
darodar.com(和各个子域名)econom.co ilovevitaly.co semalt.com(和各个子域名)buttons-for-website.com see-your-website-here.com