The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (nginx)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

nginx не отвечает 444, TyLLIKAH (ok), 13-Июл-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "nginx не отвечает 444"  +/
Сообщение от Аноним (1), 13-Июл-21, 12:23 
>
> Почему он здесь отвечает 400 ?

man strlen и думаем над "\x00\x00\x02\x00"

Ответить | Правка | Наверх | Cообщить модератору

2. "nginx не отвечает 444"  +/
Сообщение от TyLLIKAH (ok), 13-Июл-21, 12:49 
>>
>> Почему он здесь отвечает 400 ?
> man strlen и думаем над "\x00\x00\x02\x00"

Спасибо, Капитан! строка "\x00\x00\x02\x00" нулевой длины по strlen, равна "" по strcmp и не входит во множество констант GET|POST|HEAD и, тем не менее, правило не срабатывает.

Ответить | Правка | Наверх | Cообщить модератору

3. "nginx не отвечает 444"  +/
Сообщение от Аноним (1), 13-Июл-21, 13:32 
>>>
>>> Почему он здесь отвечает 400 ?
>> man strlen и думаем над "\x00\x00\x02\x00"
> Спасибо, Капитан! строка "\x00\x00\x02\x00" нулевой длины по strlen, равна "" по strcmp
> и не входит во множество констант GET|POST|HEAD и, тем не менее,
> правило не срабатывает.

скорее всего поток управления туда и не доходит, и в моих кодовых базах тоже бы не дошло

1. if (str == NULL || *str='\0') { ихБинПесец( 01 ); return; } // <= САМОЕ БАЗОВОЕ
2. if (!isValidUTF8(str)) { ихБинПесец( 02 ); return; }
3. if (!isAllowedCharset( str, charset )) { ихБинПесец( 03 ); return; }
n. if (!...) { ихБинПесец( n ); return; }

Тады копать сорцы на предмет логики обработки и цепочки дeфолтных обработчиков
if ($request_method !~ ^(GET|POST|HEAD)$ ) {
    return 444;
}

Ответить | Правка | Наверх | Cообщить модератору

4. "nginx не отвечает 444"  +/
Сообщение от TyLLIKAH (ok), 13-Июл-21, 14:49 
> скорее всего поток управления туда и не доходит, и в моих кодовых
> базах тоже бы не дошло

Спасибо, конечно, что вы мне отвечаете, но я не думаю, что nginx протянул бы столько лет с такой замечательной логикой сравнения строк, как вы описали...


> ... *str='\0') { ихБинПесец( 01 ); return;

Пустая строка - это вполне себе легитимная строка. Какой песец ? Не надо так!

Ответить | Правка | Наверх | Cообщить модератору

5. "nginx не отвечает 444"  +/
Сообщение от Аноним (1), 13-Июл-21, 15:25 
>> скорее всего поток управления туда и не доходит, и в моих кодовых
>> базах тоже бы не дошло
> Спасибо, конечно, что вы мне отвечаете, но я не думаю, что nginx
> протянул бы столько лет с такой замечательной логикой сравнения строк, как
> вы описали...

Тады копать на предмет логики обработки конфигов и/или цепочки дeфолтных обработчиков


Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру