Как быть с LOIC ддосерами?

2014-06-03 Thread Андрей Василишин
Кто-то начал баловаться LOIC'ом вкаждом запросе добавляют аргументы 
вида: ?id=1401813985641&msg=

где id всегда разный, а msg - пустой

Не могу понять как написать


if ($arg_id ~ "[0-9]{10}" & $arg_msg = '' ) {
return 444;
}

чтоб оно работало?

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

Re: Как быть с LOIC ддосерами?

2014-06-03 Thread Maxim Dounin
Hello!

On Tue, Jun 03, 2014 at 08:03:48PM +0300, Андрей Василишин wrote:

> Кто-то начал баловаться LOIC'ом вкаждом запросе добавляют аргументы вида:
> ?id=1401813985641&msg=
> где id всегда разный, а msg - пустой
> 
> Не могу понять как написать
> 
> 
> if ($arg_id ~ "[0-9]{10}" & $arg_msg = '' ) {
> return 444;
> }
> 
> чтоб оно работало?

Самый простой способ - проверить всю строку, вместо отдельных её 
частей:

if ($args ~ "^id=[0-9]{10}&msg=$") {
return 444;
}

Ну или вариации на тему множественных условий,
http://wiki.nginx.org/RewriteMultiCondExample:

set $test "";

if ($arg_id ~ "[0-9]{10}") {
set $test 1;
}

if ($arg_msg = "") {
set $test ${test}1;
}

if ($test = "11") {
return 444;
}


-- 
Maxim Dounin
http://nginx.org/

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

Re: Как быть с LOIC ддосерами?

2014-06-03 Thread Андрей Василишин



Самый простой способ - проверить всю строку, вместо отдельных её
частей:

 if ($args ~ "^id=[0-9]{10}&msg=$") {
 return 444;
 }




Спасибо, мне его как раз хватило

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