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

2020-09-20 Пенетрантность pavlusha23
У меня был вариант с perl, но ваш действительно элегантнее. Спасибо:-)

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

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-08 Пенетрантность Dmytro Lavryk
Спасибо за здравую мысль!

В итоге сделал так (рубит с длиной менее 4-х символов):

if ($http_user_agent ~ "^.{0,4}$") {
    return 403;

}

 Увімкнуто вт, 08 вер. 2020 09:24:16 +0300 Илья Шипицин 
 написав 


Регуляркой, наверное, можно


On Tue, Sep 8, 2020, 11:21 AM Dmytro Lavryk 
 wrote:

Прилетали такие запросы:
 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 mailing list
 mailto:nginx-ru@nginx.org
 http://mailman.nginx.org/mailman/listinfo/nginx-ru

___
nginx-ru mailing list
mailto:nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-08 Пенетрантность Илья Шипицин
Регуляркой, наверное, можно

On Tue, Sep 8, 2020, 11:21 AM Dmytro Lavryk 
wrote:

> Прилетали такие запросы:
> 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 mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2020-09-08 Пенетрантность Dmytro Lavryk
Прилетали такие запросы:
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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru