【发布时间】:2020-04-21 09:35:59
【问题描述】:
我想检测对 PDF 文件的请求是否来自机器人。我们在网站上有 PDF 文件,并使用插入数据库来记录 PDF 文件的流量以进行报告。我们存储 HTTP_USER_AGENT、HTTP_SESSION 和 LogDate。从数据库来看,这看起来像是来自机器人,但我不确定如何检测?
有没有办法检测请求是机器人还是用户?
04:08:07.680 1.pdf 87f6fdb7-c1a9-4d9d-876f-e800d0fe619a SameIPAddress 192.168.3.201 Mozilla/5.0 (compatible; MSIE 7.0; Windows) 2020-01-02
04:08:11.213 2.pdf 87b18096-dc95-4ab4-a67d-22c08fdb22af SameIPAddress 192.168.3.201 Mozilla/5.0 (compatible; MSIE 7.0; Windows) 2020-01-02
04:08:12.493 3.pdf 55cd5c40-c167-4059-971f-b6aec54a1673 SameIPAddress 192.168.3.201 Mozilla/5.0 (compatible; MSIE 7.0; Windows) 2020-01-02
04:08:14.903 4.pdf 49001c85-3a4d-47dc-8632-fb681cb26d2a SameIPAddress 192.168.3.201 Mozilla/5.0 (compatible; MSIE 7.0; Windows) 2020-01-02
04:08:15.293 5.pdf a7fe9350-7470-48b3-ad12-7f7dd61c1896 SameIPAddress 192.168.3.201 Mozilla/5.0 (compatible; MSIE 7.0; Windows)
【问题讨论】:
-
我不知道您的用户如何访问 pdf 文件 - 但如果只是列出文件,那么访问之间的时间对于一个人来说似乎是合理的 - 唯一看起来快的是最后一个一个接近 0.3 秒 - 但如果是机器人,前两个之间超过 3 秒似乎非常慢。
-
@PaulF 它们列在 APSX 页面上,但人们确实可以选择使用链接访问它们。那么 30 秒以下的东西会是机器人吗?
-
从理论上讲,这是不可能的——没有什么是人类能做的机器人不能做的,除非你想假设所有的 PDF 都表明一个机器人?
-
@Jefferson:在浏览器中显示您的 ASPX 页面并查看使用鼠标中键浏览链接以在新选项卡中打开的速度 - 我刚刚完成了 6 个链接大约 3 秒后翻页。
标签: c# web-crawler bots