Лучший сервис для защиты от брутфорса/парсинга для вебсайта?

Для защиты от постоянного парсинга веб-проекта хочется реализовать довольно простую схему (полностью избавиться от этого не получится - знаем, но это и не нужно, главное максимально усложнить эту задачу):

Показывать каптчу всем пользователям, кто сделал больше 10 запросов к серверу за, например, 1 секунду.
Если пользователь разгадал каптчу и снова нарушил правила, то банить сначала на 1 минуту, потом на час и т.д.

Но есть один очень важный аспект: нельзя банить поисковых ботов.

Пробовали Cloudflare, но они не позволяют показывать каптчу, у них только опция бана. Остальные облачные фаерволы не дают четкого описания таких мелочей у себя на сайтах, поэтому если кто знает какие сервисы помогут решить такую задачу, то просим поделиться.

Либо, может, есть еще какие-то варианты решения таких задач?
  • Вопрос задан
  • 823 просмотра
Пригласить эксперта
Ответы на вопрос 4
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
имхо:

- роботам ограничить аппетит в robots.txt адекватным rps/rpm
- выставить тот же адекватный rps/rpm на уровне сервера с помощью rate limiting

результат:

- роботы без проблем индексируют
- обычным пользователям никаких капч и неудобств
- особо активным и левым ботам с аппетитом выше rate limit - автоматический бан или просто сброс запросов свыше лимита (тут на выбор по вашему желанию)
Ответ написан
Комментировать
@Reversaidx
Могу предложить использовать testcookie в nginx для отсеивания ботов(с белым списком для поисковиков), В кратце это работает так - перед заходом на сайт генерится кука , без неё попасть на сайт нельзя, для пользователей это не вызовет проблем(и пройдёт не заметно, а боты в большинстве своём не пройдут
Ответ написан
@glader
Готовое решение не предложу.

У поисковых ботов обычно известны адреса подсетей. Вы можете показывать капчу по вашим правилам всем, кто не входит в эти подсети.
Ответ написан
Комментировать
hostadmin
@hostadmin
Вы же можете ограничить скорость обхода сайта роботом в robots.txt
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы