Re: Почему пустой if ломает работу try files?
Alexey Galygin
mif на me.com
Ср Сен 30 05:44:01 UTC 2020
да, примеры были из habr, но и там к статье были претензии к map-решению
+ я специально усложнил пример регулярными выражениями
поэтому указанный map это не эквивалент
во вторых плохо читаемый хак и издевательство над линейной логикой
зачем такие костыли, если можно доделать нормальный if?
> On 30 Sep 2020, at 05:14, fox <red-fox0 на ya.ru> wrote:
>
> Троллишь?
>
> map "$http_user_agent:$method:$uri" $block {
> "HackYou:POST:/admin/some/url" "1";
> }
>
> if ($block) {
> return 403;
> }
>
>
> 30.09.2020 02:24, Alexey Galygin пишет:
>> не вкусовщина
>> часто очень не хватает простейших and/&& и or/||
>>
>> вот чтобы такое не писать:
>>
>> if($http_user_agent~ "HackYou"){ set$block"A"; } if($method= "POST") {
>> set$block"${block}B"; } if($uri~ “^/admin/some/url") {
>> set$block"${block}C"; } if($block= "ABC") { return403; }
>>
>> vs условно:
>>
>> if/eif ($http_user_agent~ “HackYou” && $method= “POST” && $uri~
>> “^/admin/some/url”) {
>> return403;
>> }
>>
>>
>>> On 29 Sep 2020, at 21:49, Илья Шипицин <chipitsine на gmail.com
>>> <mailto:chipitsine на gmail.com <mailto:chipitsine на gmail.com>>> wrote:
>>>
>>> это вкусовщина же. вы готовы писать "eif", чтобы выразить свою мысль в
>>> определенном синтаксисе.
>>> сейчас вы точно так же выражаете свою мысль через map-ы.
>>>
>>> по сути просто диалекты языка
>>>
>>> вт, 29 сент. 2020 г. в 22:41, Alexey Galygin <mif на me.com <mailto:mif на me.com>
>>> <mailto:mif на me.com <mailto:mif на me.com>>>:
>>>
>>> иногда трудно обойтись без дополнительной логики,
>>> которую ради такой мелочи отдавать на backend грустно
>>>
>>> и речь про улучшение поведения исключительно с обратной совместимостью
>>>
>>> если совсем никак, то можно добавить условно extended if — eif
>>>
>>>
>>>> On 29 Sep 2020, at 19:47, fox <red-fox0 на ya.ru <mailto:red-fox0 на ya.ru>
>>> <mailto:red-fox0 на ya.ru <mailto:red-fox0 на ya.ru>>> wrote:
>>>>
>>>> 1) может, потому что конфиг - это не язык программирования?
>>>>
>>>> 2) изменение поведения сломает тысячи существующих систем.
>>>>
>>>>
>>>> 29.09.2020 23:31, Alexey Galygin пишет:
>>>>> присоединяюсь к вопросу:
>>>>>
>>>>> почему бы не сделать if нормальным? чтобы без артефактов… и
>>> немного мощнее
>>>>>
>>>>> нам вот тоже приходится делать по несколько map, чтобы логику
>>> чуть более сложную построить…
>>>>> и это ужас
>>>>>
>>>>>> On 29 Sep 2020, at 19:29, Sergey Kandaurov <pluknet на nginx.com <mailto:pluknet на nginx.com>
>>> <mailto:pluknet на nginx.com <mailto:pluknet на nginx.com>>> wrote:
>>>>>>
>>>>>>
>>>>>>> On 29 Sep 2020, at 17:12, Ilya Evseev
>>> <nginx-forum на forum.nginx.org <mailto:nginx-forum на forum.nginx.org> <mailto:nginx-forum на forum.nginx.org <mailto:nginx-forum на forum.nginx.org>>>
>>> wrote:
>>>>>>>
>>>>>>> Имеется nginx 1.19.2 со следующей настройкой:
>>>>>>>
>>>>>>> server {
>>>>>>> location / {
>>>>>>> if ($http_user_agent ~ "TestAgent") { }
>>>>>>> try_files $uri $uri/ /index.html;
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>> Почему попадание в if меняет логику работы последующего
>>> try_files?
>>>>>>
>>>>>> https://wiki.nginx.org/IfIsEvil <https://wiki.nginx.org/IfIsEvil>
>>>>>>
>>>>>> --
>>>>>> Sergey Kandaurov
>>>>>>
>>>>>> _______________________________________________
>>>>>> nginx-ru mailing list
>>>>>> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org> <mailto:nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>>
>>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
>>>>>
>>>>> _______________________________________________
>>>>> nginx-ru mailing list
>>>>> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org> <mailto:nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>>
>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
>>>>>
>>>>
>>>> _______________________________________________
>>>> nginx-ru mailing list
>>>> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org> <mailto:nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>>
>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
>>>
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org> <mailto:nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>>
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
>>>
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org> <mailto:nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>>
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
>>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20200930/2f2804b9/attachment-0001.htm>
Подробная информация о списке рассылки nginx-ru