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

Maxim Dounin mdounin at mdounin.ru
Tue Jun 3 17:24:28 UTC 2014


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