Атака китайских ботов
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
hd321kbps
- phpBB 2.0.3
- Сообщения: 366
- Стаж: 14 лет 3 месяца
- Откуда: Россия, Крым, Армянск
- Благодарил (а): 191 раз
- Поблагодарили: 346 раз
Атака китайских ботов
Сегодня заметил на нескольких форумах наплыв ботов из китая от 100-300 одновременно, которые создают нагрузку на хостинг.
Все заходят с телефона Android и iphone Os.
Адреса ботов:
54.222.*.*
54.223.*.*
52.80.*.*
52.81.*.*
52.82.*.*
52.83.*.*
220.243.*.*
139.217.*.*
139.219.*.*
У кого наблюдается такое-же отпишитесь)
---------------------------
Варианты блокировки ботов:
Re: Атака китайских ботов - от Nekstati
Re: Атака китайских ботов - от Kuskow, php
Re: Атака китайских ботов - от Kuskow, nginx
Все заходят с телефона Android и iphone Os.
Адреса ботов:
54.222.*.*
54.223.*.*
52.80.*.*
52.81.*.*
52.82.*.*
52.83.*.*
220.243.*.*
139.217.*.*
139.219.*.*
У кого наблюдается такое-же отпишитесь)
---------------------------
Варианты блокировки ботов:
Re: Атака китайских ботов - от Nekstati
Re: Атака китайских ботов - от Kuskow, php
Re: Атака китайских ботов - от Kuskow, nginx
Последний раз редактировалось Татьяна5 11.07.2026 18:43, всего редактировалось 1 раз.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Это классика: глаз замыливается, и мозг подсознательно «дорисовывает» правильный синтаксис, игнорируя лишние детали. Мы так увлеклись логикой редиректов и поведением ботов, что просмотрели банальную синтаксическую ошибку.
В PHP лишняя скобка — это гарантированный Parse error. А поскольку это было в config.php, сайт просто «умирал» в самом начале, выдавая 500 Internal Server Error (если вывод ошибок в браузер выключен).
Забавно, что:
В PHP лишняя скобка — это гарантированный Parse error. А поскольку это было в config.php, сайт просто «умирал» в самом начале, выдавая 500 Internal Server Error (если вывод ошибок в браузер выключен).
Забавно, что:
- Мы искали проблему в методах запроса (GET/POST).
- Грешили на заголовки AJAX.
- Анализировали логи Nginx.
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
Ну вот, сервер прочитал код.
Но на ботов он, похоже, впечатление не произвёл.
Боты от Alibaba как были в больших количествах, так и остались.
И все опять сидят в одной теме, правда, теперь в другой, не в той, что вчера.
Пока что, по факту самый-самый первый код помог реально против ботов, все остальные варианты лично моему форуму не очень.
Если нет пользы и от этого варианта, то, наверное, буду его сносить. Пока что, что с ним, что без него.
В принципе, нагрузка на сервер небольшая совсем, наверное, пока можно и не париться...
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Они не могут "все они". Потому что теперь они должны стать, как минимум, одним ботом. Значит, что-то Вы не сделали из первых двух пунктов Re: Атака китайских ботов
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
Kuskow, вот ОНИ (не все, только часть)
В config.php в конец вставил это:
В
Начало этого файла выглядит так (весь не привожу ибо длинный):
Бота Debutante [Bot] создал. И вижу его среди гостей.
Что я ещё не сделал? Или что я сделал не так?
В config.php в конец вставил это:
Код: Выделить всё
### Барьер для защиты от ботов, атакующих phpBB-сайты
### Авторы: Kuskow & AI on Google Search & ChatGPT
if (($_SERVER['REQUEST_METHOD'] ?? '') !== 'GET') return; // когда этот скрипт бесполезен
# 1. Шлагбаум: извесных ботов не пускаем даже к дому
preg_match('/ChatGPT|keys-so|python|Firefox\/72/i', $ua = $_SERVER['HTTP_USER_AGENT']) +
preg_match('/wp-|profile\.php/i', $uri = $_SERVER['REQUEST_URI'])
and die(header('HTTP/1.1 403'));
# 2. Дебютант: неопознанный бот или первый визит гостя считается как один опознанный бот
empty($_SERVER['HTTP_COOKIE'])
and !preg_match('/Yandex|Googlebot|Google-|Applebot|bingbot|Baiduspider|GPTBot|whatsapp|telegram|facebook/i', $_SERVER['HTTP_USER_AGENT'])
and ($_SERVER['HTTP_USER_AGENT'] = 'Debutante');
# 3. Гардероб: разуваем гостей, но не персонал
$noise = 'sid|hilit|gclid|yclid|ysclid|fbclid|utm_\w+';
preg_match('/^(?!.*(adm\/|cp\.php|hash=|mark_)).*?(' . $noise . ')=/i', $uri)
and exit(header('Location: ' . rtrim(preg_replace(["/([?&])($noise)=[^&]*(&|$)/i", '/\?&/'], ['$3', '?'], $uri), '?&'), true, 308));В
/assets/javascript/core.js вставил это:Код: Выделить всё
document.cookie = "checked=1; path=/; max-age=86400; SameSite=Lax";Начало этого файла выглядит так (весь не привожу ибо длинный):
Код: Выделить всё
/* global bbfontstyle */
document.cookie = "checked=1; path=/; max-age=86400; SameSite=Lax";
var phpbb = {};
phpbb.alertTime = 100;
(function($) { // Avoid conflicts with other libraries
'use strict';
// define a couple constants for keydown functions.
var keymap = {
TAB: 9,
ENTER: 13,
ESC: 27,
ARROW_UP: 38,
ARROW_DOWN: 40
};
var $dark = $('#darkenwrapper');
var $loadingIndicator;
var phpbbAlertTimer = null;
..............................Бота Debutante [Bot] создал. И вижу его среди гостей.
Что я ещё не сделал? Или что я сделал не так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Потому что они используют староподхваченные куки. ну или не знаю - надо смотреть по логам. У меня исчезли мгновенно. Завтра пройдёт, надеюсь. А пока переходим ко второй части Марлезонского балета - углубляемся в Nginx. После изменений не забываем перезапустить Nginx.
Код: Выделить всё
# 1. Статическая блокировка известных ботов
# 1a. Зловредные боты банятся через fail2ban по IP-адресам
if ($http_user_agent ~* "keys-so|python|Firefox/72") { return 444; }
if ($request_uri ~* "wp-|/profile\.php|\.env|\.git|\.aws|\.terraform") { return 444; }
# 1b. Легальным, но нежелательным ботам запрещено только сейчас
#if ($http_user_agent ~* "Mediapartners") { return 403; }
# 2. Поведенческая блокировка наглых ботов без cookies
set $bot_check "";
# 2a. Помечаем точки входа
if ($request_uri ~* "/adm/|ucp\.php|author=") { set $bot_check "A"; }
if ($server_protocol ~ "HTTP/1") { set $bot_check "A"; }
# 2b. Проверка наличия cookies
if ($http_cookie = "") { set $bot_check "${bot_check}C"; }
# 2c. Исключения (ПС и мессенджеры) — обнуляем всё для своих
if ($http_user_agent ~* "Yandex|Googlebot|Google-|Applebot|bingbot|Baiduspider|GPTBot|whatsapp|telegram|facebook") { set $bot_check ""; }
# 2d. Исполнение приговоров
if ($bot_check = "AC") { return 444; }
# 3. Мягкие ответы
# 3b. Системные заглушки
location ^~ /.well-known/acme-challenge/ { allow all; }
location /.well-known/ { log_not_found off; return 204; }
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Это пишем в Nginx. В зависимости от панели управления сайтом места разные могут быть. У меня файл шаблона к сайту, например:
/home/ПОЛЬЗОВАТЕЛЬ/conf/web/ДОМЕН/nginx.ssl.conf_extra
А как у Вас не знаю - может быть, подскажут опытные тут товарищи. Кажется, в других местах это надо писать в какой-то раздел SERVER, но я не уверен.
/home/ПОЛЬЗОВАТЕЛЬ/conf/web/ДОМЕН/nginx.ssl.conf_extra
А как у Вас не знаю - может быть, подскажут опытные тут товарищи. Кажется, в других местах это надо писать в какой-то раздел SERVER, но я не уверен.
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
Похоже, что, действительно, наладилось.
Все Алибабы ушли, новых не появилось. Теперь количество гостей примерно соответствует действительности.
И это без добавок в Nginx.
Продолжаю наблюдать.
Все Алибабы ушли, новых не появилось. Теперь количество гостей примерно соответствует действительности.
И это без добавок в Nginx.
Продолжаю наблюдать.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Да, но нет. Забанил несколько обдачных сетей, через пару дней уже забыл их, а вот надо было выпустить сертификат Let's Encrypt для почты - а фигушки. Еле как догадался, что это из-за блокировки ip-адресов, и то озарение пришло чисто случайно, без участия логики. Представляю, какая паника у меня возникла, когда сертификат для сайта не обновился бы.
-
MasterX
- phpBB 1.4.4
- Сообщения: 162
- Стаж: 6 лет 4 месяца
- Благодарил (а): 24 раза
- Поблагодарили: 17 раз
Re: Атака китайских ботов
Так их хостинг по идее должен нахаляву выдавать и автопродлевать.Kuskow писал(а): 11.04.2026 18:09 Да, но нет. Забанил несколько обдачных сетей, через пару дней уже забыл их, а вот надо было выпустить сертификат Let's Encrypt для почты - а фигушки. Еле как догадался, что это из-за блокировки ip-адресов, и то озарение пришло чисто случайно, без участия логики. Представляю, какая паника у меня возникла, когда сертификат для сайта не обновился бы.
Кста, атака прекратилась. 20-30 гостей, вполне реальных лазят.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Let's Encrypt выдаёт не хостинг, а центр сертификации (ЦС). Чтобы его получить/продлить, панель управления (ПУ) запрашивает новый сертификат для домена. ЦС перед выдчей сертификата должен (хочет) проверить, действительно ли тот, кто запрашивает его (заявитель), владеет этим доменом. Для этого ЦС на запрос нового сертификата высылает уникальный токен, который нужно разместить или в DNS-записи домена, или в файле, доступном с сайта этого домена. Так же проверку владения доменов проводят Google и Яндекс, прежде чем разрешить кому-то просматривать результаты индексации и управлять ею.
Так вот, ЦС Let's Encrypt не смог достучаться до сайта для того, чтобы проверить, тот ли токен разместили, который он выдал. Потому что массив заблокированных адресов затрагивал и сервера сертификатора. Естественно, при обновлении существующего сертификата произошло бы то же самое, он бы не обновился, протух и перестал действовать. Let's Encrypt действует в течение полутора месяцев, большинство панелей управления обновляет его раз в месяц, на всякий случай.
Так вот, ЦС Let's Encrypt не смог достучаться до сайта для того, чтобы проверить, тот ли токен разместили, который он выдал. Потому что массив заблокированных адресов затрагивал и сервера сертификатора. Естественно, при обновлении существующего сертификата произошло бы то же самое, он бы не обновился, протух и перестал действовать. Let's Encrypt действует в течение полутора месяцев, большинство панелей управления обновляет его раз в месяц, на всякий случай.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
А ещё GPTBot перестал обходить мой сайт, с 21 марта не появлялся. А раньше каждый день тысячами скачивал страницы. Я его несколько раз то блокировал, то разблокировал, то через Nginx, то в robots.txt. Теперь я окончательно решил, что он мне нужен, а он наоборот, окончательно обиделся и больше не приходит. Что делать - ума не приложу.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Утро вечера мудренее. Сегодня мы с ИИ проснулись, покумекали ещё и родили новую идею, пуще прежней. Переделывает второй блок "дебютант", теперь он выглядит так:
Код: Выделить всё
# 2. Дебютант: неопознанный бот или первый визит гостя считается как один опознанный бот
empty($_COOKIE['checked'])
and !preg_match('/Yandex|Googlebot|Google-|Applebot|bingbot|Baiduspider|GPTBot|whatsapp|telegram|facebook/i', $_SERVER['HTTP_USER_AGENT'])
and ($_SERVER['HTTP_USER_AGENT'] = 'Debutante');

