Назад | Перейти на главную страницу

Китайский бот посещает несуществующую страницу каждые 5 минут

поскольку 02.05.2013 какой-то бот посещает мой сайт каждые 5 минут.

В большинстве случаев он вызывает этот URL, которого не существует:

/viewtopic.php?f=3&t=849

Всегда с этим пользовательским агентом

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)

(= IE 6, Windows XP)

Он не только значительно искажает статистику посетителей, он даже не идентифицируется как бот, так что я предполагаю, что это какой-то спамер.

Мой вопрос вот что делает этот клиент и почему он постоянно вызывает эту страницу? - А как я могу это предотвратить?

Я использую vServer с Linux Debian.

Что делает этот клиент?

Трудно узнать, но просто из любопытства я бы установил PHP-скрипт по этому URL-адресу, чтобы поиграть с вашим другом:

  • получить IP-адрес клиента и немедленно просканировать его (открытые порты, обратный адрес, whois-информация в сетевом блоке)
  • дампить заголовки HTTP, чтобы изучить их. Если он отправляет реферера, возможно, он приходит откуда-то еще. Ищите другие интересные вещи.
  • ответьте HTTP-перенаправлением на какой-то управляемый вами URL и посмотрите, следует ли он за ним. Просто чтобы знать ...
  • ответьте с помощью Javascript и посмотрите, выполняет ли он его
  • если у вас большая пропускная способность, попробуйте ответить несколькими гигабайтами мусора :)
    • (и пока вы это делаете, измерьте, насколько быстро он может переваривать данные)
  • когда вам надоедает играть с ним, то иди против него (если у вас достаточно ресурсов): каждый раз, когда он подключается, введите long sleep () перед завершением HTTP-ответа. Заставьте его потреблять больше ресурсов.

почему он постоянно вызывает эту страницу?

А у гугла спросить пробовали? Похоже, Tencent Traveler - один из самых популярных браузеров в Китае. Может быть, кто-то с его помощью посетил ваш сайт или попытался посетить недействительные URL-адреса на вашем сайте, может быть, это паук, запущенный компанией-разработчиком программного обеспечения, пытающийся индексировать / сканировать / кэшировать сайты, посещенные пользователями его браузера. Или, может быть, это просто скучающий китайский мальчик, или, может быть, зараженный компьютер, или ... кто знает, вы также должны спросить его напрямую, но вам нужно знать, кто он.

И как я могу этого предотвратить?

На самом деле предотвращать его за попытку, вы должны сообщить об этом как о спамере кому-то / чему-то, кто имеет над ним власть. Обычно это технический контакт (или tech-c, или злоупотребление, или как там это называется) AS, ответственный за диапазон IP. Вы можете найти эту информацию в whois.

Если профилактика не удается, и он продолжает выполнять эти запросы, вы можете заблокировать их различными способами:

  • если они поступают из одной подсети и вас не интересует эта общедоступная сеть, заблокируйте всю подсеть на уровне IP (например, если она исходит из китайской подсети / 8, и вы не против блокировки китайских клиентов, просто сбросьте трафик со всей подсети)

  • заблокировать все запросы, соответствующие этому User-Agent, на уровне HTTP, если у вас нет известных законных пользователей с тем же User-Agent.

Почему эти агрессивные боты всегда приходят из Китая или России?

Ах, жизнь была бы проще, если бы это было правдой;)

значительно искажает статистику посетителей

Вы говорите об одном ударе за 5 минут или примерно 0,003 хита в секунду - должно быть значительно ниже минимального уровня шума. Перефразируйте свой вопрос и объясните, что вы имеете в виду под «искажениями».

Вы могли бы использовать mod_setenvif чтобы соответствовать известной части пользовательского агента (например, Tencent Traveler), а затем заблокировать его

BrowserMatchNoCase TencentTraveler bad_bot
Order Deny,Allow
Deny from env=bad_bot

Установите fail2ban и настройте jail.conf, чтобы разрешить джейлинг apache. Затем добавьте соответствие failregex в раздел apache примерно так:

failregex = [[]client (?P<host>\S*)[]] File does not exist: .*\.phpf=3&t=849