Как блокировать и проверять забаненные ip? PHP?

мне нужно чтобы когда ip делал слишком много запросов в секунду, его баннили. Как в Codeigniter проверять ip, чтоб не писать проверку в каждом контроллере? еще подскажите как мне проверить сколько ip делает запросов в секунду?
  • Вопрос задан
  • 3050 просмотров
Решения вопроса 1
Согласен с другими комментаторами. Защиту нужно реализовывать не на php, а средствами сервера. Однако уж если совсем приспичило, то можно сделать что-нибудь а-ля vitalykim.ru/zashhita-ot-ddos-atak-na-php.html
И реализовать вызов проверки на ddos в конструкторе MY_Controller и наследовать все контроллеры от него, или реализовать хук pre_controller.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Nc_Soft
nginx limit_req
на уровне пхп это делать бесполезно, потому что пхп скрипт уже запущен, а надо как раз защищаться от его частого запуска.
Ответ написан
Комментировать
@portfelio
Пожалуй проще и правильнее будет, если этим заниматься станет веб-сервер.
Ответ написан
@vasilushechka
Еще вариант: можно воспользоваться fail2ban для iptables.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы