[3.3] Ограничение частоты запросов с одного IP

У вас есть идея для расширения функциональности phpBB? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
er107
phpBB 2.0.18
Сообщения: 1165
Стаж: 14 лет 5 месяцев
Благодарил (а): 207 раз
Поблагодарили: 74 раза

[3.3] Ограничение частоты запросов с одного IP

Сообщение er107 »

Хочу поинтересоваться у сообщества (в связи с наплывом сотни тысяч Гостей в сутки на форум), поможет ли от такой напасти такое расширение:

Запоминаем IP пользователя при каждом запросе (или при отправке формы/регистрации/создании сообщения).

Ведём счётчик количества действий за небольшой промежуток времени (например, 10 секунд).

Если IP превышает лимит (например, 20 запросов за 10 секунд) → выдаём ошибку или временно блокируем дальнейшие действия.

Счётчик сбрасывается по таймеру.

У меня эти Гости (судя по логам) постоянно дергают форум - нажимают кнопки, скачивают картинки, пытаются регистрироваться и т.п. и .т.п, сотни раз в секунду, то есть специально создают нагрузку на форум, чтобы он упал.

Вот я и задумался, как справиться с такой напастью? P.S. Боты не поисковые и подобные, они у меня прописаны. Да и IP у них (гостей) наши.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5459
Стаж: 20 лет 7 месяцев
Откуда: Питер
Благодарил (а): 179 раз
Поблагодарили: 756 раз

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение Siava »

connlimit в iptables
mod_ratelimit в apache
ngx_http_limit_req_module в nginx
+ fail2ban ещё сверху
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
er107
phpBB 2.0.18
Сообщения: 1165
Стаж: 14 лет 5 месяцев
Благодарил (а): 207 раз
Поблагодарили: 74 раза

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение er107 »

Siava, К сожалению для шареда это не работает
Аватара пользователя
Михаил Молчанов
phpBB 1.4.4
Сообщения: 133
Стаж: 1 год 1 месяц
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение Михаил Молчанов »

Какую работу выполняют боты? Что они делают на форуме?
Создал и раскручиваю свой форум! :D

Изображение
er107
phpBB 2.0.18
Сообщения: 1165
Стаж: 14 лет 5 месяцев
Благодарил (а): 207 раз
Поблагодарили: 74 раза

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение er107 »

Смотря какие боты, если вредоносные, то специально создают нагрузку, чтобы "положит" форум. У меня как раз такие.
Аватара пользователя
Michel
phpBB 2.0.4
Сообщения: 429
Стаж: 13 лет 7 месяцев
Откуда: Липецк
Благодарил (а): 123 раза
Поблагодарили: 50 раз

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение Michel »

Михаил Молчанов писал(а): Вчера 19:57 Какую работу выполняют боты? Что они делают на форуме?
Ходят по всему форуму и заглядывают во всё что можно заглянуть. Поисковые: индексируют для поисковых систем, а вредоносные посылают постоянные запросы и не дожидаясь ответа шлют следующий. Чем мощнее железо на сервере, тем быстрее и больше запросов сервер может обработать. Тут уж кто кого. Есть ещё спам боты, которые регистрируются и по скрипту начитают постить рекламного характера сообщения.
Аватара пользователя
Михаил Молчанов
phpBB 1.4.4
Сообщения: 133
Стаж: 1 год 1 месяц
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение Михаил Молчанов »

Я тогда вот думаю. Надо просто на форуме авто очистку форума включить. И тогда будет меньше нагрузка значит.
Создал и раскручиваю свой форум! :D

Изображение
Аватара пользователя
Michel
phpBB 2.0.4
Сообщения: 429
Стаж: 13 лет 7 месяцев
Откуда: Липецк
Благодарил (а): 123 раза
Поблагодарили: 50 раз

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение Michel »

Михаил Молчанов писал(а): Вчера 22:25 Я тогда вот думаю. Надо просто на форуме авто очистку форума включить. И тогда будет меньше нагрузка значит.
Не совсем. Для это и реализована система с ботами. То есть поисковый бот не будет лезть туда где он уже был, уже проиндексированная информация его не интересует. Вредоносный, может тыкать тупа на логотип и хоть форум будет вообще пустой, а сервер слабый, то положит его. Спамеру тоже без разницы сколько у тебя сообщений на форуме. Система с ботами позволяет ограничивать ботам доступ к той или иной информации на твоём форуме. Поэтому чем больше ботов у тебя на форуме имеют регистрацию, то есть отображаются на вкладке ботов, тем больше у тебя контроля над их деятельностью.
MasterX
phpBB 1.4.4
Сообщения: 125
Стаж: 5 лет 5 месяцев
Благодарил (а): 24 раза
Поблагодарили: 14 раз

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение MasterX »

Если скреперы, то их можно отбивать.
Отличительная черта - старые версии браузеров в User Agent Конкретно хром - не выше 120й версии.

Если сильно припекло, вот народ рекомендует: https://www.phpbb.com/community/viewtop ... #p16078516

Если у кого-то есть иллюзии, что эти атаки будут носить временный характер - это большая ошибка, нейросетей все больше, этих ботов будет еще больше.
Не знаю, научатся ли от них защищать хостинги, пока надежда только на собственные силы.
Похоже пришло время в движок встраивать какую-то базовую защиту. Надеюсь разработчики что-то придумают.
er107
phpBB 2.0.18
Сообщения: 1165
Стаж: 14 лет 5 месяцев
Благодарил (а): 207 раз
Поблагодарили: 74 раза

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение er107 »

Спасибо! Пока остановился на расширении, которое отдает ботам и гостям кэш страниц, то есть статику, и понаблюдаю за нагрузкой.
Так как боты (не поисковики) перебирают IP пачками, то бан по IP считаю мерой не эффективной (по логам смотрю, если вчера с одного IP было 40 000 запросов, то сегодня всего 200), только если это не будет происходить в реальном времени, но такое сделать на шареде невозможно (недоступен фаерволл).
Или все-таки думать в сторону расширения бан IP ботов, которые создают такую нагрузку. По идее то, что происходит у меня, это не совсем дос - с откровенным досом справляется хостер, тут же увеличивают нагрузку так, чтобы хостер рубанул аккаунт из-за ее превышения.
С третьей стороны бан по IP точно заденет некоторых юзеров..
Аватара пользователя
Michel
phpBB 2.0.4
Сообщения: 429
Стаж: 13 лет 7 месяцев
Откуда: Липецк
Благодарил (а): 123 раза
Поблагодарили: 50 раз

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение Michel »

er107 писал(а): Сегодня 1:04 Спасибо! Пока остановился на расширении, которое отдает ботам и гостям кэш страниц, то есть статику, и понаблюдаю за нагрузкой.
Сообщи о результатах. По идее это должно помочь. Если всё пройдёт хорошо, то будем держать данный экст на всякий случай.
er107
phpBB 2.0.18
Сообщения: 1165
Стаж: 14 лет 5 месяцев
Благодарил (а): 207 раз
Поблагодарили: 74 раза

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение er107 »

Ок, снял бан со всех Ip, которые создавали десятки тысяч запросов в день (в логе access за день около миллиона строк), завтра отпишусь какого размера достиг кэш у этого расширения.
er107
phpBB 2.0.18
Сообщения: 1165
Стаж: 14 лет 5 месяцев
Благодарил (а): 207 раз
Поблагодарили: 74 раза

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение er107 »

В общем расширение показало себя хорошо, я разбанил все IP (которые делали по 20 запросов в секунду), но даже при этом нагрузка заметно упала, форум стал работать визуально быстрее, в расширении стали такие данные:
Файлов в кэше 3 869, общий объём 400.77 МБ
Расширение действительно стоящее. Наблюдаю дальше.
er107
phpBB 2.0.18
Сообщения: 1165
Стаж: 14 лет 5 месяцев
Благодарил (а): 207 раз
Поблагодарили: 74 раза

Re: [3.3] Ограничение частоты запросов с одного IP

Сообщение er107 »

Через некоторое время можно говорить о некоторой статистике. Вот данные по нагрузке до включения расширения и после.

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

   дата         cpu_sys    cpu_user
2025-08-18        2441        6650
2025-08-27        1012        3413
Причем, на 27-28 число число Гостей уже больше чем было до этого, сейчас оно:
bots.jpg
Кэш больше не увеличивается, стоит на уровне 400 мб.

Может подобные расширения это ключ к борьбе с ботами? Ведь если банить подозрительных ботов в .htaccess, как я это делал поначалу, то это рано или поздно задевает реальных юзеров - когда я заблокировать всего лишь около 15 IP адресов, и то мне стали писать, что некоторые люди не могут попасть на форум. А так ботам отдается статика, которая в десятки раз легче для сервера.
Естественно, речь идет о вредоносных ботах, которых создают повышенную нагрузку на форум.

P.S. Забыл написать, что использую расширение cachegbpages.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Вернуться в «Запросы расширений для phpBB»