@AndreyMorozov

Как на лету изменять страницы, которые отдаются ботам, делающим слишком много запросов?

Сейчас слишком активные боты и парсеры отсекаются через limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s;
Хочу сделать так, чтобы страницы им отдавались, но с искаженной информацией. Допустим, замена текста в определенном блоке на другой.
Или другой путь - может ли Nginx добавить специфичный HTTP-хедер в запросы от таких ботов? Тогда я изменю выдачу на уровне веб-приложения.
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
@dodo512
limit_req_status + error_page
limit_req_status 403;
error_page 403 = /file.php?bot;
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Или другой путь - может ли Nginx добавить специфичный HTTP-хедер в запросы от таких ботов? Тогда я изменю выдачу на уровне веб-приложения.

Конечно. Отправляйте ботов в другой локейшен, который при проксировании вовнутрь будет добавлять заголовок или вовсе - перенаправлять запросы на другой урл или порт. Директива proxy_set_header.
Ответ написан
Комментировать
@Andrey_Dolg
А в чём смысл обрабатывать запросы от ботов? Или это так сказать из разряда насолить?
Ответ написан
alekciy
@alekciy
Вёбных дел мастер
rate=2r/s

С учетом того, что у вас не API сервис, а сайт, то указанного значение слишком мало. В среднем на сайте легитимный посетитель, не бот, может генерировать до 6-12 RPS.
Ответ написан
Ваш ответ на вопрос

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

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