Посоветуйте алгоритм защиты от качалок

ВC
На сайте с 02.02.2006
Offline
463
626

Качалки грузят сервер и этот эффект хочется уменьшить.

Идея такая - посетителя считать роботом:

- если интервал между двумя посещениями с одного IP меньше 2 секунд;

- если в течение часа просмотрено больше 20 страниц.

Такому посетителю давать запрет доступа на два часа.

Как полагаете, такой метод годится?

(Для роботов установить минимальный интервал сканирования 5 секунд, чтобы их не забанить. И не банить, если в юзер-агенте видно, что это робот).

A
На сайте с 04.11.2007
Offline
134
#1
Владимир-C:
Как полагаете, такой метод годится?

Да, именно такой алгоритм используется в file2ban nginx-req-limit. Если за "findtime" время превышено "maxretry" запросов, то баним на "bantime" время.

Можно учесть ещё один параметр - всплеск активности, как это реализовано в ngx_http_limit_req_module.

S
На сайте с 23.05.2004
Offline
315
#2
Владимир-C:
- если интервал между двумя посещениями с одного IP меньше 2 секунд;

Про открытие в новой вкладке никогда не думали ? Не все же сидят в однопоточном режиме, много кто открывает ссылки в баграунде.

Владимир-C:
- если в течение часа просмотрено больше 20 страниц.

Это 90% посетителей данного форума можно так забанить :)

Качалки будут запросто грузить через прокси. А вот простым пользователям доставите максимум сложностей. Это аналогично запрету правой кнопки мыши на странице, когда ботам пофигу, а простой серфер даже контактный майл не в состоянии скопировать.

Это просто подпись.
WebJunior
На сайте с 11.06.2010
Offline
155
#3
Владимир-C:
- если в течение часа просмотрено больше 20 страниц

боты же гораздо шустрее работают. за 10 минут столько пройдет, а то и меньше.

Мой сайт на этом хостинге - https://tuthost.ua/?from=2558 / Верстаю шаблоны (темы с отзывами: https://searchengines.guru/ru/forum/763758, https://searchengines.guru/ru/forum/600404 ).
D
На сайте с 07.11.2000
Offline
228
#4
Владимир-C:
Как полагаете, такой метод годится?

Метод, который использовал 10 лет назад:

Создаются страницы или каталоги, запрещенные в robots.txt и ставятся на эти страницы - nofollow ссылки, невидимые пользователям. Все, кто посещает эти страницы - идут в бан :)

Для надежности - можно создать несколько подобных страниц. Посетил 2 в течение X минут - ушел в бан.

Желательно иметь список IP ботов ПС, т.к. они не всегда соблюдают роботс. Или, как минимум, фильтровать по юзерагенту.

REBUS
На сайте с 20.02.2003
Offline
109
#5

Может почитать материалы по защите от DDOS-атак? Тематика смежная и возможно натолкнет вас и на другие идеи ; )

N
На сайте с 06.05.2007
Offline
419
#6

Кстати, хотелось бы услышать практиков, хорошо ли фильтрует ли качалки cloudflare ?

То есть речь не о ddos, но о парсерах, которые все же доставляют проблем сайтам.

Дело в том, что любую систему ограничения придется поддерживать и иногда реагировать на жалобы, неправильные срабатывания. Очень неудобно если за это никто не собирается платить.

Кнопка вызова админа ()

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий