Вычислить длину user agent

Dmytro Lavryk nginx-forum на forum.nginx.org
Вт Сен 8 06:21:21 UTC 2020


Прилетали такие запросы:
103.47.172.95 [08/Sep/2020:00:18:57 +0300] "GET / HTTP/1.1" 499 0
"https://yahoo.com" "M"
186.6.101.4 [08/Sep/2020:00:19:14 +0300] "GET / HTTP/1.1" 499 0
"https://facebook.com" "k"
117.102.116.82 [08/Sep/2020:00:19:16 +0300] "GET / HTTP/1.1" 499 0
"https://bing.com" ")"
43.249.140.230 [08/Sep/2020:00:19:16 +0300] "GET / HTTP/1.1" 499 0
"https://baidu.com" "("
61.5.39.35 [08/Sep/2020:00:19:17 +0300] "GET / HTTP/1.1" 499 0
"https://bing.com" "U"
189.50.9.250 [08/Sep/2020:00:19:17 +0300] "GET / HTTP/1.1" 499 0
"https://google.com" "2"
191.97.9.186 [08/Sep/2020:00:19:17 +0300] "GET / HTTP/1.1" 499 0
"https://reddit.com" "M"
198.50.163.192 [08/Sep/2020:00:19:18 +0300] "GET / HTTP/1.1" 499 0
"https://facebook.com" "n"
103.113.197.1 [08/Sep/2020:00:19:18 +0300] "GET / HTTP/1.1" 499 0
"https://gmail.com" "v"

Очевидно юзер-агент "левый". Пришла мысль резать по длине его (юзер-агента).
например если короче Х символов - отдавать просто 403 и не мучаться, потому
что это явно не нормальная ситуация. Существует ли такая возможность? Или
нужно на перле/луа прикручивать скрипты?

Ну что-то типа такого хотелось бы:
if ($http_user_agent_length < 7) {
    return 403;
}

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,289343,289343#msg-289343



Подробная информация о списке рассылки nginx-ru