管理面板中有一个简单的网站,您需要显示统计信息:每天、每月访问该网站的唯一用户总数等。
实施 IP 检查,以便检查对站点的每个请求。我通过发送 get 请求来检查 IPhttp://ipinfo.io/{ip_address}/
结果我注意到该网站收到了很多来自欧美国家的请求:
...
'ip': 'ip_adr', 'hostname': 'keok5.agenciasego.com.br', 'city': 'Denver', 'country': 'US'...
'ip': 'ip_adr', 'hostname': 'bc.googleusercontent.com', 'city': 'Brussels', 'country': 'BE' ...
'ip': 'ip_adr', 'hostname': 'msnbot.search.msn.com', 'city': 'Boydton', 'country': 'US' ...
...
我们能够使用主机名识别一些机器人,并且不会将它们添加到统计信息中,但并非所有地址都会在响应中收到主机名。
那么问题来了:如何区分真实用户和机器人,或者将用于统计的机器人数量减少到最少?存在哪些方法和选项?
将所有外部连接误认为机器人是不可行的,因为许多人都使用 VPN。
这些连接似乎很可疑,因为一天之内就收到了来自上海、新加坡、拉丁美洲国家等地向俄罗斯一个小型地区站点发出的多个请求。