вы на * nix машине? Подобные вещи, вероятно, лучше оставить на уровне ОС, используя что-то вроде iptables
редактирование:
в ответ на комментарий, да (вроде). однако идея заключается в том, что iptables может работать независимо. Вы можете установить определенный порог для регулирования (например, блокировать запросы на порт 80 TCP, которые превышают x запросов / минуту), и все это прозрачно обрабатывается (т. е. вашему приложению действительно не нужно ничего знать об этом, чтобы иметь динамическая блокировка).
Я бы предложил метод iptables, если у вас есть полный контроль над блоком, и предпочел бы, чтобы ваш брандмауэр обрабатывал регулирование (преимущества в том, что вам не нужно встраивать эту логику в ваше веб-приложение, и это может сэкономить ресурсы поскольку запросы отбрасываются до того, как они попадают на ваш веб-сервер)
в противном случае, если вы ожидаете, что блокировка не будет огромным компонентом (или ваше приложение переносимо и не может гарантировать доступ к iptables), то было бы разумнее встроить эту логику в ваше приложение.