Атака китайских ботов
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Leo Angel
- phpBB 2.0.9
- Сообщения: 742
- Стаж: 8 лет 2 месяца
- Откуда: Израиль
- Благодарил (а): 242 раза
- Поблагодарили: 94 раза
Re: Атака китайских ботов
Этот способ (без последней редакции второго блока) очень мне помог. Всё "злонамеренное" исчезло в принципе. Изредка появляются гости (1-2 максимум), отмеченные расширением Antibot 42 как спам-боты, а так исключительно зарегистрированные пользователи и живые гости.
Продолжаю наблюдать...
Продолжаю наблюдать...
-
Kuskow
- phpBB 2.0.3
- Сообщения: 360
- Стаж: 9 лет 10 месяцев
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 25 раз
- Поблагодарили: 34 раза
Re: Атака китайских ботов
Сделайте последнее изменение - оно и лучше, и правильнее. Сегодня с утра у меня был набег умных ботов, которые хватают куки phpBB, да ещё и запоминают их надолго. А с этим исправлением, как раз, вообще всех вырезали. Завтра соберу все версии в кучу и напишу отдельным сообщением.
-
MasterX
- phpBB 1.4.4
- Сообщения: 158
- Стаж: 6 лет 1 месяц
- Благодарил (а): 24 раза
- Поблагодарили: 16 раз
Re: Атака китайских ботов
Может написать в чатжпт, типа простите, извините был неправ? Запускай опять своего бота.Kuskow писал(а): 12.04.2026 4:35 А ещё GPTBot перестал обходить мой сайт, с 21 марта не появлялся. А раньше каждый день тысячами скачивал страницы. Я его несколько раз то блокировал, то разблокировал, то через Nginx, то в robots.txt. Теперь я окончательно решил, что он мне нужен, а он наоборот, окончательно обиделся и больше не приходит. Что делать - ума не приложу.
-
Kuskow
- phpBB 2.0.3
- Сообщения: 360
- Стаж: 9 лет 10 месяцев
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 25 раз
- Поблагодарили: 34 раза
Re: Атака китайских ботов
Вот тут я смалодушничал и стал переписывать код. А этого вообще можно было не делать, и мы бы тогда не застряли во временной петле. Вместо написания отдельного кода (даже одной строки) для index, достаточно заменить это слово на любое другое, которое никогда не встретится в URL. Например:
index.php => beliber.da. Да же?-
Leo Angel
- phpBB 2.0.9
- Сообщения: 742
- Стаж: 8 лет 2 месяца
- Откуда: Израиль
- Благодарил (а): 242 раза
- Поблагодарили: 94 раза
Re: Атака китайских ботов
Kuskow, а дайте, плиз, окончательный (на Ваш с GPT взгляд) код. Проверим, посмотрим.
И, кстати, опять в консоли вылезла ошибка с manifest.
И, кстати, опять в консоли вылезла ошибка с manifest.
-
Kuskow
- phpBB 2.0.3
- Сообщения: 360
- Стаж: 9 лет 10 месяцев
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 25 раз
- Поблагодарили: 34 раза
Re: Атака китайских ботов
Я спрагивал у него - сказал, что это бесполезно, да и некуда писать.
Отправлено спустя 11 минут 10 секунд:
Leo Angel, про манифест - ещё раз, какое у Вас там расширение для push-уведомлений в браузере?
-
Kuskow
- phpBB 2.0.3
- Сообщения: 360
- Стаж: 9 лет 10 месяцев
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 25 раз
- Поблагодарили: 34 раза
Re: Атака китайских ботов
Расширение Web Push Notifications застревает из-за того, что скрипт «Гардероб» выдает редирект 308 на запросы app.php/webpush/manifest, который браузер не обрабатывает. Проблема устраняется добавлением webpush в список исключений регулярного выражения (preg_match), что позволяет запросам манифеста проходить напрямую.
(adm\/|cp\.php|hash=|mark_|webpush)
(adm\/|cp\.php|hash=|mark_|webpush)
-
Kuskow
- phpBB 2.0.3
- Сообщения: 360
- Стаж: 9 лет 10 месяцев
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 25 раз
- Поблагодарили: 34 раза
Re: Атака китайских ботов
Мы с ИИ, как обычно, утром нашли ещё одну зацепку и за неё вышвырнули остатки ботов с форума. Так что, теперь публикую [почти] окончательный релиз. И описываю полный процесс установки, как будто ничего не было. Если раньше устанавливали этот скрипт, то первые два этапа пропускаем, выполняем только третий. На своём форуме проверил (кроме AJAX), с PHP 7.4-8.5 полностью совместимо. И не важно, находится ли форум в корне сайта или в отдельной папке - будет работать и так, и сяк, ничего исправлять для этого не нужно.
Строим барьер для ботов в phpBB.
Сразу оговорюсь, канонические методы попраны, каждый сам себе решает, насколько это позволительно.
1. {единственное нетрадиционное, но обязательное исправление}
Очень важно повторить это исправление после каждого обновления версии движка, иначе ни один человек на новом устройстве не сможет зайти или зарегистрироваться на форуме.
В файле своего phpBB
2. Заходим в админку своего phpBB:
2.1. ОБЩИЕ -> Очистить кэш.
2.2. ОБЩИЕ -> Поисковые боты -> Добавить бота.
Название бота: Debutante [Bot] (можно придумать своё, например, Other Bots, Pseudo).
Соответствие агенту:
Остальные графы формы можно оставить по умолчанию.
3. В конец файла
* ChatGPT в блоке #1 - это совсем не то, о чём вы подумали. Сюда же можно добалять нежелательных ботов по их User-Agent, но надо быть предельно остороными, ведь совпадение с браузером реального пользователя мгновенно выкосит таких пользовалей с форума.
** Если у вас старница
*** В блоке #3 в строке preg_match указываем только тех ботов, которые у вас зарегистрированы в админке. Не надо там перечислять всех подряд. Это влияет только на то, будут ли они отображаться отдельным словом на главной странице. На их доступе к форуму это никак не отразится.
Строим барьер для ботов в phpBB.
Сразу оговорюсь, канонические методы попраны, каждый сам себе решает, насколько это позволительно.
1. {единственное нетрадиционное, но обязательное исправление}
Очень важно повторить это исправление после каждого обновления версии движка, иначе ни один человек на новом устройстве не сможет зайти или зарегистрироваться на форуме.
В файле своего phpBB
/assets/javascript/core.js в самом начале вставляем:
Код: Выделить всё
document.cookie = "checked=1; path=/; max-age=31104000; SameSite=Lax";2. Заходим в админку своего phpBB:
2.1. ОБЩИЕ -> Очистить кэш.
2.2. ОБЩИЕ -> Поисковые боты -> Добавить бота.
Название бота: Debutante [Bot] (можно придумать своё, например, Other Bots, Pseudo).
Соответствие агенту:
Debutante (тут важно написать точно так же, как во 2 блоке 3 пункта).Остальные графы формы можно оставить по умолчанию.
3. В конец файла
config.php добавляем:
Код: Выделить всё
### Барьер для защиты от ботов, атакующих phpBB-сайты
### Авторы: Kuskow & AI on Google Search
if (preg_match('/GET|HEAD/', $_SERVER['REQUEST_METHOD'] ?? 'cli')) { // когда этот скрипт полезен
# 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(http_response_code(403));
# 2. Гардероб: разуваем гостей, но не персонал
!preg_match('/(adm\/|cp\.php|hash=|mark_|webpush)/i', $uri)
and ($uri = rtrim(str_replace('?&', '?', preg_replace("/&(sid|hilit|gclid|yclid|ysclid|fbclid|utm_\w+)=[^&]*/i", '', str_replace(['/index.php', '?'], ['/', '?&'], $uri))), '?&')) !== $_SERVER['REQUEST_URI']
and exit(header('Location: ' . $uri, true, 308));
# 3. Дебютант: неопознанный бот или первый визит гостя считается как один опознанный бот
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');
}
* ChatGPT в блоке #1 - это совсем не то, о чём вы подумали. Сюда же можно добалять нежелательных ботов по их User-Agent, но надо быть предельно остороными, ведь совпадение с браузером реального пользователя мгновенно выкосит таких пользовалей с форума.
** Если у вас старница
/index.php отличается от / и это важно - поменяйте слово "index" на "bindex" или "shmindex" в блоке #2.*** В блоке #3 в строке preg_match указываем только тех ботов, которые у вас зарегистрированы в админке. Не надо там перечислять всех подряд. Это влияет только на то, будут ли они отображаться отдельным словом на главной странице. На их доступе к форуму это никак не отразится.
-
Kuskow
- phpBB 2.0.3
- Сообщения: 360
- Стаж: 9 лет 10 месяцев
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 25 раз
- Поблагодарили: 34 раза
Re: Атака китайских ботов
Хм, опять забыл.
4. После установки проверить:
- Переход на главную страницу сайта и главную страницу форума
- Вход со своим логином, переход в панель управления форумом, выход из панели, просмотр своего и чужого профиля, поиск по теме, Непрочитанные сообщения, Ваши сообщения, выход пользователя из форума
- Открытие в новом окне в режиме инкогнито (каждый раз открывая и закрывая окно): главной страницы форума, страницы с разделом, первой и последней страницы темы, удалить куки, войти и выйти со своим логином, зарегистрироваться на форуме, подтвердить e-mail из письма

