中国机器人每 5 分钟访问一次不存在的页面

byt*_*e77 2 spam web-server

2013 年5 月 2 日起,某种机器人每 5 分钟访问一次我的网站。

大多数时候它调用这个不存在的 URL:

/viewtopic.php?f=3&t=849
Run Code Online (Sandbox Code Playgroud)

始终使用此用户代理

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TencentTraveler ; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727)
Run Code Online (Sandbox Code Playgroud)

(= IE 6, Windows XP)

它不仅显着扭曲了访问者统计数据,它甚至不能识别为机器人,所以我猜它是某种垃圾邮件发送者。

我的问题是,这个客户做了什么,为什么它不断地调用这个页面?- 我怎样才能防止这种情况?

我在 Linux Debian 上使用 vServer。

Luk*_*404 8

这个客户是做什么的?

很难知道,但只是出于好奇,我会在该网址上设置一个 PHP 脚本与您的朋友一起玩:

  • 获取客户端IP地址并立即扫描(开放端口、反向地址、netblock上的whois信息)
  • 转储 HTTP 标头以查看它们。如果它发送推荐人,则它可能来自其他地方。寻找其他有趣的东西。
  • 回复一个 HTTP 重定向到你管理的某个 URL,看看它是否遵循它。想知道...
  • 用一些 Javascript 回复,看看它是否执行它
  • 如果您有很多带宽,请尝试回复一些 GB 的垃圾:)
    • (当你在做的时候,测量他消化数据的速度)
  • 当你厌倦了和他一起玩时,就去找他(如果你有足够的资源):每次它连接时,在完成 HTTP 回复之前进入一些长时间的 sleep()。让他消耗更多的资源。

为什么它不断地调用这个页面?

你试过问谷歌吗?看来腾讯旅行者是中国最受欢迎的浏览器之一。也许有人访问了你的网站,或者试图访问你网站上的无效 URL,也许软件公司运行的蜘蛛试图索引/扫描/缓存浏览器用户访问的站点。或者可能只是一个中国无聊的男孩,或者可能是一台受感染的电脑,或者……谁知道呢,你也应该直接问他,但你需要知道他是谁。

我怎样才能防止这种情况?

为了真正阻止他尝试,您应该将其作为垃圾邮件发送者报告给对他有权威的人/事物。通常这是负责其 IP 范围的 AS 的技术联系人(或 tech-c,或滥用,或他们称之为的任何名称)。您可以从 whois 中找到该信息。

如果预防没有成功并且继续执行这些请求,您可以通过多种方式阻止它们:

  • 如果它们来自单个子网而您对该公共子网不感兴趣,请在 IP 级别阻止整个子网(例如,如果它来自中国 /8 子网并且您不介意阻止中国客户端,只需丢弃流量来自整个子网)

  • 如果您没有已知的具有相同 User-Agent 的合法用户,则阻止在 HTTP 级别与该 User-Agent 匹配的所有请求。

为什么这些咄咄逼人的机器人总是来自中国或俄罗斯?

啊哈,如果这是真的,生活会更轻松;)

它严重扭曲了访问者统计数据

您说的是每 5 分钟一次命中,或大约 0.003 次/秒 - 应该远低于本底噪声.. 请重新表述您的问题并解释您所说的“扭曲”是什么意思。


use*_*517 6

您可以使用mod_setenvif匹配 UserAgent 的已知部分(例如TencentTraveler),然后阻止它

BrowserMatchNoCase TencentTraveler bad_bot
Order Deny,Allow
Deny from env=bad_bot
Run Code Online (Sandbox Code Playgroud)