Задать вопрос

Как правильно блокировать ботов NGINX на уровне сервера?

В access.log пишет пролезают боты
SemrushBot/6~bl
bingbot/2.0
YandexBot/3.0
(compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)
(compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
 (compatible; YandexBot/3.0; +http://yandex.com/bots)

я блокировал в nginx.conf
include /etc/nginx/conf.d/*.conf;
	
	#Список ботов
	map $http_user_agent $limit_bots {
     default 0;
		 ~*(SemrushBot|SemrushBot/6~bl|YandexBot|YandexBot/3.0|bingbot|bingbot/2.0) 1;
    }

в site.ru.conf
location / { 
    if ($limit_bots = 1) { return 403;}
    if (!-e $request_filename){
      rewrite ^/sitemap.xml$ /sitemap.php;
      rewrite ^/sitemap(\d+).xml$ /sitemap$1.php;
    }
  }

уже ставил и так и сяк SemrushBot|SemrushBot/6~bl
В access.log не абсолютный путь такого плана
- [15/Aug/2020:10:29:14 +0200] "GET /categ/tovar-13.html HTTP/1.1" 403 153 "-" "Mozilla/5.0 (compatible; SemrushBot/6~bl; +www.semrush.com/bot.html)"

403 не грузит сервер ? Спасибо
  • Вопрос задан
  • 1001 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Таким образом ботов блокировать бессмысленно. Те, которые честно про себя пишут в юзерагенте - обычно не запрашивают агрессивно и плюс-минус уважают то, что написано в robots.txt. Подавляющее большинство парсеров, которые фигачат как не в себя - притворяются обычными браузерами.
Ответ написан
kocherman
@kocherman
Какой nginx? Зачем nginx? Твой выбор: Cloudflare / recaptcha!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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