我们正在尝试更好地衡量传入我们网站的自动请求的数量。我们的网站提供大量数据,但也提供网页。很容易区分所提供的网页和所提供的数据文件,但某些所提供的数据文件是通过网页手动请求生成的。自动请求通常使用curl 或wget 等程序直接获取数据。
我们目前的做法是定期查看用户代理字符串,并根据用户代理(例如wget)判断这是一个自动化请求。问题是新的代理一直在添加,所以我们落后了。而且,其中一些以自动方式检索数据的人通过使用用户代理字符串来伪造数据,这些字符串声称它们是浏览器,但实际上它们不是。
我想到,如果根据 Apache 日志条目,我们可以确定“Javascript 已打开”,然后有人发送了请求。它并不完美,但它会比我们现在拥有的更好、更便携。如果我们检测到它已关闭,我们可以将其视为自动请求。
这样的事情可能吗?是否有足够智能的代码或库可以为我们完成这项工作,并且定期维护?
最佳答案
关于javascript - 检测自动网络请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191814/