Атака китайских ботов

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Kuskow
phpBB 2.0.4
Сообщения: 417
Стаж: 10 лет
Откуда: 🇰🇿 Караганда
Благодарил (а): 27 раз
Поблагодарили: 42 раза

Re: Атака китайских ботов

Сообщение Kuskow »

Vlad__ писал(а): Сегодня 17:12 в статистике не будет всяких Google-ботов, прописанных в админке, а будет один Debutante?
Да, именно так. Если есть возражения, могу посмпорить и обосновать. Но не настаиваю на этом варианте.
Vlad__ писал(а): Сегодня 17:12 Так ли важен этот код в блокировщике от ботов?
Да, очень важен. Он даёт половину всех отлупов. SEO тут ни при чём.
Vlad__ писал(а): Сегодня 17:12 Причем этот код генерирует двойной запрос к серверу при срабатывании.
Да, но тут столько важно, сколько запросов, сколько кто эти запросы обрабатывает. Если все запросы будут обработаны в этом скрипте, не доходя до phpBB, это вообще идеальный вариант, поскольку сервер не тратит на это ресурсов - база данных даже не открывается. Даже если второй запрос проникнет к phpBB, он будет голый, phpBB не будет обрабатывать сессии, а может даже и какое-никакое кэширование сработает. Так что, два запроса будут легче и быстрее обработаны, чем один. Ну и там ещё где-нибудь может подключатся какие-то файрволы от провайдера, которые узреют кучу одинаковых запросов от разных IP-адресов. А некоторые боты вообще не выполняют эти редиректы. То есть, для них что 308, 403 - всё одно.
Vlad__ писал(а): Сегодня 17:12 У себя оставил код примерно в таком виде
Тоже хорошо, ибо уже это не мало. Кстати, я тут пораскинул мозгами, придумал вообще не заводить Debutante. В следующем релизе исключу второй пункт, вместо Debutante просто прописать Googlebot/. Ну типа, меньше телодвижений, меньше шансов где-то допустить ошибку. Как вам идея?
Vlad__
phpBB 2.0.7
Сообщения: 584
Стаж: 9 лет 6 месяцев
Благодарил (а): 246 раз
Поблагодарили: 53 раза

Re: Атака китайских ботов

Сообщение Vlad__ »

Kuskow писал(а): Сегодня 19:08 Да, очень важен. Он даёт половину всех отлупов. SEO тут ни при чём.
Не совсем понял. Раскажите алгоритм, почему он дает отлупы? Я вижу очистку запроса и 308 редирект, и все.
Аватара пользователя
Kuskow
phpBB 2.0.4
Сообщения: 417
Стаж: 10 лет
Откуда: 🇰🇿 Караганда
Благодарил (а): 27 раз
Поблагодарили: 42 раза

Re: Атака китайских ботов

Сообщение Kuskow »

Боты придумывают несуществующие сессии и обращаются с ними к phpBB, передавая идентификатор сессии в sid=. Движок на каждый такой идентификатор вынужден думать, что это отдельный пользователь. Итого один IP-адрес (виртуальный сервер бота) имитирует сидение на форуме нескольких тысяч пользователей. Отсюда и лишняя нагрузка. Если очистить URL от лишних параметров, phpBB их не будет обрабатывать.

308 редирект не обязывает клиента переходить, а лишь указывает, куда переходить. А половина ботов и не собираются переходить - они ищут уязвимости и нагружают сервер. Поэтому для таких 308 работает как 403 (они сами себе так решили).

Кстати, вот сейчас опять подумал - неправильно я сделал, всё же. Потому что это перенаправление 308 нужно не только для ботов, но и для людей. Так что, новая версия не за горами.
Последний раз редактировалось Kuskow 21.06.2026 19:26, всего редактировалось 1 раз.
Vlad__
phpBB 2.0.7
Сообщения: 584
Стаж: 9 лет 6 месяцев
Благодарил (а): 246 раз
Поблагодарили: 53 раза

Re: Атака китайских ботов

Сообщение Vlad__ »

Kuskow писал(а): Сегодня 19:08 вместо Debutante просто прописать Googlebot... Как вам идея?
Без разницы. Суть не меняется. Цель скрипта - для противодействия создания новых сессий для ботов-гостей привести их к одному знаменателю. А как этот единый "бот" будет называться не важно.
Kuskow писал(а): Сегодня 19:24 Движок на каждый такой идентификатор вынужден думать, что это отдельный пользователь.
Правильно. И создавать новую сессию, со всеми последующими зависонами.
Но вы же уже "назвали" бота, то есть движку уже по барабану sid-ы опознанных ботов. Он для них не создает новые сессии. Пусть меня поправят, если я не прав, но имхо этот код масло масляное.
Последний раз редактировалось Vlad__ 21.06.2026 19:36, всего редактировалось 1 раз.
Аватара пользователя
Leo Angel
phpBB 2.0.10
Сообщения: 774
Стаж: 8 лет 5 месяцев
Откуда: Израиль
Благодарил (а): 250 раз
Поблагодарили: 94 раза

Re: Атака китайских ботов

Сообщение Leo Angel »

Kuskow, что всё же лучше, Ваше решение или решение, предложенное Nekstati ?
Аватара пользователя
Kuskow
phpBB 2.0.4
Сообщения: 417
Стаж: 10 лет
Откуда: 🇰🇿 Караганда
Благодарил (а): 27 раз
Поблагодарили: 42 раза

Re: Атака китайских ботов

Сообщение Kuskow »

Vlad__ писал(а): Сегодня 19:34 Он для них не создает новые сессии.
Да, этот блок в неправильном месте теперь очутился. Буду передумывать.

Отправлено спустя 39 секунд:
Leo Angel, тут нет лучше/хуже. Совсем разные подходы. Можно даже оба варианта делать. Они мешать друг другу не будут.
Vlad__
phpBB 2.0.7
Сообщения: 584
Стаж: 9 лет 6 месяцев
Благодарил (а): 246 раз
Поблагодарили: 53 раза

Re: Атака китайских ботов

Сообщение Vlad__ »

Kuskow писал(а): Сегодня 19:45 Буду передумывать.
Не усложняйте. Кода из трех строчек, что я выше привел, вполне достаточно для целей скрипта.
Kuskow писал(а): Сегодня 19:45 Да, этот блок в неправильном месте теперь очутился.
Он в правильном месте, но он не нужен.
У вас заходит бот с sid-ом в запросе, скрипт его отрезает и снова дергает config.php уже со ссылкой без "мусора", эта часть пропускается, так как ссылка уже чистая, после чего бота именуют. Согласитесь, много лишнего )
Аватара пользователя
southklad
phpBB 3.1.0 RC4
Сообщения: 3458
Стаж: 14 лет 5 месяцев
Благодарил (а): 708 раз
Поблагодарили: 173 раза

Re: Атака китайских ботов

Сообщение southklad »

При использовании кода от @Nekstati столкнулся с такими проблемами:

открываю сразу несколько вкладок форума подряд, выдает ограничение по частым запросам, это плюс, но тут же нашел, что я не могу загрузить на форум подряд более 3 вложений, ошибку выдает Ошибка HTTP.
Изображение
Vlad__
phpBB 2.0.7
Сообщения: 584
Стаж: 9 лет 6 месяцев
Благодарил (а): 246 раз
Поблагодарили: 53 раза

Re: Атака китайских ботов

Сообщение Vlad__ »

Vlad__ писал(а): Сегодня 19:54 снова дергает config.php уже со ссылкой без "мусора"
Kuskow писал(а): Сегодня 19:24 Поэтому для таких 308 работает как 403 (они сами себе так решили).
Хорошо. Допустим бот не переходит, а получает почти отлуп по типу 403. Тем более зачем этот код? Бот получает 308 редирект с такой же ссылкой только без "мусора". Так можно всем ботам, иеющим в адресной строке "мусор" выдать 403 и все. Но явно же пострадают и полезные боты. Вот я и поднял вопрос, в чем суть этого кода?

Цель скрипта, повторюсь, приведение всех неопознанных ботов к единому имени. Остальное это уже фаервол )
Аватара пользователя
Kuskow
phpBB 2.0.4
Сообщения: 417
Стаж: 10 лет
Откуда: 🇰🇿 Караганда
Благодарил (а): 27 раз
Поблагодарили: 42 раза

Re: Атака китайских ботов

Сообщение Kuskow »

Vlad__ писал(а): Сегодня 19:54 Не усложняйте.
Буду усложнять. Вам очистка URL не нужна, наверное. А у меня ж теперь есть третья линия обороны - кэш! Так что, мне эта очистка очень даже нужна.
Vlad__ писал(а): Сегодня 19:54 Кода из трех строчек, что я выше привел, вполне достаточно для целей скрипта.
Тут посмпорю один раз. Первый блок "шлагбаум" весьма эффективен.
Vlad__ писал(а): Сегодня 20:06 Так можно всем ботам, иеющим в адресной строке "мусор" выдать 403 и все.
Нельзя, потому что тупые пользователи вставляют ссылки на форум вместе с sid= и hilit=. Затем тупые Google и Яндекс эти ссылки подхватывают и пытаются индексировать.
Последний раз редактировалось Kuskow 21.06.2026 20:10, всего редактировалось 1 раз.
Vlad__
phpBB 2.0.7
Сообщения: 584
Стаж: 9 лет 6 месяцев
Благодарил (а): 246 раз
Поблагодарили: 53 раза

Re: Атака китайских ботов

Сообщение Vlad__ »

Kuskow писал(а): Сегодня 20:09 А у меня ж теперь есть третья линия обороны - кэш!
Это как?
Аватара пользователя
Kuskow
phpBB 2.0.4
Сообщения: 417
Стаж: 10 лет
Откуда: 🇰🇿 Караганда
Благодарил (а): 27 раз
Поблагодарили: 42 раза

Re: Атака китайских ботов

Сообщение Kuskow »

Вот тут я писал об этом Третий эшелон защиты от ботов - кэш.

Вот что получается со всеми моими эшелонами:
200 130283
444 11007
302 3497
308 1720
403 1575
304 1155
301 841
410 525
204 240
404 110
425 103
206 26
499 3
307 3
Аватара пользователя
southklad
phpBB 3.1.0 RC4
Сообщения: 3458
Стаж: 14 лет 5 месяцев
Благодарил (а): 708 раз
Поблагодарили: 173 раза

Re: Атака китайских ботов

Сообщение southklad »

southklad писал(а): Сегодня 19:56 ошибку выдает Ошибка HTTP.
В итоге все же сделав вот так эта проблема ушла

Код: Выделить всё

// 5. Исключение: легитимное скачивание файлов с корректным реферером пропускаем без проверки, т.к. на странице м.б. десятки картинок
	 $isDownloadFile = (strpos($_SERVER['REQUEST_URI'], '/pic/') !== false || 
                        strpos($_SERVER['REQUEST_URI'], '/image_preview') !== false || 
                        strpos($_SERVER['REQUEST_URI'], '/thumb/') !== false || 
                        strpos($_SERVER['REQUEST_URI'], '/small/') !== false || 
						strpos($_SERVER['REQUEST_URI'], 'download/file.php') !== false || 
                        strpos($_SERVER['REQUEST_URI'], '/img/') !== false);
 
    if ($isDownloadFile && !empty($_SERVER['HTTP_REFERER']) && !empty($_SERVER['SERVER_NAME']) && 
        stripos($_SERVER['HTTP_REFERER'], $_SERVER['SERVER_NAME']) !== false) {
        return; 
    }
Изображение
Аватара пользователя
Kuskow
phpBB 2.0.4
Сообщения: 417
Стаж: 10 лет
Откуда: 🇰🇿 Караганда
Благодарил (а): 27 раз
Поблагодарили: 42 раза

Re: Атака китайских ботов

Сообщение Kuskow »

И вот, казалось бы, можно легко отключить 403 отлупы - они малый процент дают. Но нет, это не так работает.

Во-первых, боты сами, получая много 403, перестают лезть на кактус.
Во-вторых, нанешние файерволы типа fail2ban видят множественные отлупы 403 и блокируют эти IP-адреса, не подпуская из даже к Nginx.
В-третьих, есть системы распределённых атак, которые сначала посылают разведчиков, и если они получили 200, не споткнувшись, то посылаются уже армии.
Vlad__
phpBB 2.0.7
Сообщения: 584
Стаж: 9 лет 6 месяцев
Благодарил (а): 246 раз
Поблагодарили: 53 раза

Re: Атака китайских ботов

Сообщение Vlad__ »

Kuskow писал(а): Сегодня 20:12 Вот тут я писал об этом
Понятно. Только кэш у вас отдает nginx, а очищает php в config.php форума. Как это связано?

Вернуться в «phpBB-пространство»