Атака китайских ботов
Правила форума
Местная Конституция | Шаблон запроса | Документация (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 раз.
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
Вечером попробую. Сегодня утром было спокойно, а сейчас набежали демоны! 
Отправлено спустя 8 минут 51 секунду:
А что будет через год?
Отправлено спустя 8 минут 51 секунду:
max-age=31536000 - срок жизни cookie: 31 536 000 секунд, то есть примерно 1 год с момента установки. Верно?А что будет через год?
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Это одноразовая кука, она нужна только для того, чтобы определить, человек ли зашёл на форум, потом в силу вступают обычные куки форума. Можно спокойно поставить 1 час. Но если в течение часа человек не ткнёт ни одну ссылку на странице, то так и останется никем. В общем-то, можно поставить сутки, чтобы не думать об этом. В общем, это время должно быть не меньше, чем реальный человек ткнёт хоть одну ссылку на странице форума. Естественно, он сделает это меньше, чем за год.
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
Kuskow, сделал всё, что Вы написали.
Форум упал по причине:
Что я сделал не так?
Форум упал по причине:
Сайт выполнил переадресацию слишком много раз.Что я сделал не так?
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
В общем, там заменой одной строчки не обошлось. Нужно заменить весь третий блок. Так что, если нужно оставить и /, и /index.php, тогда весь код скрипта будет таким:
На своём форуме проверил - работает.
Код: Выделить всё
### Барьер для защиты от ботов, атакующих phpBB-сайты
### Авторы: Kuskow & AI on Google Search
if (PHP_SAPI === 'cli') { return; } // В cli не надо ничего делать
# 1. Шлагбаум: извесных ботов не пускаем даже к дому
preg_match('/ChatGPT|keys-so|python|Firefox\/72|Mediapartners/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|Applebot|bingbot|Baiduspider|GPTBot/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));
На своём форуме проверил - работает.
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
Теперь вот:
Отправлено спустя 35 минут 43 секунды:
И форум падает с 500 ошибкой.
Код: Выделить всё
Ошибка AJAX
Internal Server ErrorИ форум падает с 500 ошибкой.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Leo Angel, у меня AJAX не используется, поэтому не уловил бы эту ошибку. Хорошо, что Вы участвуете в разработке универсального решения. Для совместимости уже всем нужно поменять, себе тоже добавил, чтобы в будущем не думать, почему это AJAX не работает. Вот общая обновлённая версия:
Вариант А: для тех, кому
Вариант Б: для тех, у кого корень
Вариант А: для тех, кому
index.php не важенКод: Выделить всё
### Барьер для защиты от ботов, атакующих phpBB-сайты
### Авторы: Kuskow & AI on Google Search
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) || PHP_SAPI === 'cli') 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_)).*?(\/index\.php(?:\?|&|$)|(' . $noise . ')=)/i', $uri)
and exit(header('Location: ' . rtrim(preg_replace(["/([?&])($noise)=[^&]*(&|$)/i", '/\?&/', '/\/index\.php(?:\?|&|$)/i'], ['$3', '?', '/'], $uri), '?&'), true, 308));
Вариант Б: для тех, у кого корень
/ и /index.php - это разные страницы (отличие в 3 блоке)Код: Выделить всё
### Барьер для защиты от ботов, атакующих phpBB-сайты
### Авторы: Kuskow & AI on Google Search
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) || PHP_SAPI === 'cli') 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));
-
dotez
- phpBB 2.0.2
- Сообщения: 304
- Стаж: 15 лет 7 месяцев
- Благодарил (а): 3 раза
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Я думаю, можно брать вариант А (без index). Надо пробовать, всего заранее не преусмотреть. Работает - пользуем дальше. Не работает - отключаем (удаляем) только то, что добавили в config.php. Остальное точно никак не мешает.
При установке не забудьтие сделать первые два изменения.
После полной отладки заново соберу все изменения в одну кучу.
При установке не забудьтие сделать первые два изменения.
После полной отладки заново соберу все изменения в одну кучу.
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
ОпятьKuskow писал(а): 10.04.2026 4:03 Вариант Б: для тех, у кого корень / и /index.php - это разные страницы (отличие в 3 блоке)
Ошибка 500, форум упал. -
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Leo Angel, тогда пока специально для Вас, а про универсальность подумаем после успешного запуска. Но каждая такая правка снижает эффективность антибота, пропуская некоторых из них.
Код: Выделить всё
### Барьер для защиты от ботов, атакующих 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));
-
Siava
- Поддержка

- Сообщения: 5541
- Стаж: 21 год 6 месяцев
- Откуда: Питер
- Благодарил (а): 187 раз
- Поблагодарили: 774 раза
Re: Атака китайских ботов
Кратко о нескольких последних страницах темы
Скрытый текст
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
-
Kuskow
- phpBB 2.0.5
- Сообщения: 457
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Атака китайских ботов
Ну тут уже моих знаний недостаточно. Мне или включать AJAX на своём сайте, чего очень бы не хотелось, или лезть в чужой сайт, что тоже неправильно.
Можем попробовать ещё наоборот - Вы отключите AJAX в быстром ответе, посмотрим, заработает ли. И будем думать дальше.
Можем попробовать ещё наоборот - Вы отключите AJAX в быстром ответе, посмотрим, заработает ли. И будем думать дальше.
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
Давайте пока сделаем паузу. Я постараюсь понять что именно вызывает 500-ю ошибку у меня. Найду, если пойму и найду, тогда продолжим.
-
Leo Angel
- phpBB 2.0.10
- Сообщения: 781
- Стаж: 8 лет 5 месяцев
- Откуда: Израиль
- Благодарил (а): 253 раза
- Поблагодарили: 95 раз
Re: Атака китайских ботов
Нашлась ошибка, которая вызывала 500-ю ошибку.
В этой строке
лишняя закрывающая скобка!
Убрал её и форум перестал падать.
Всё работает.
Как обстоят дела с ботами посмотрю-понаблюдаю-напишу.
В этой строке
Код: Выделить всё
preg_match('/^(?!.*(adm\/|cp\.php|hash=|mark_)).*?(' . $noise . ')=/i', $uri))Убрал её и форум перестал падать.
Всё работает.
Как обстоят дела с ботами посмотрю-понаблюдаю-напишу.

