Re: Почему пустой if ломает работу try files?

fox red-fox0 на ya.ru
Ср Сен 30 02:14:22 UTC 2020


Троллишь?

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>> wrote:
>>
>> это вкусовщина же. вы готовы писать "eif", чтобы выразить свою мысль в
>> определенном синтаксисе.
>> сейчас вы точно так же выражаете свою мысль через map-ы.
>>
>> по сути просто диалекты языка
>>
>> вт, 29 сент. 2020 г. в 22:41, Alexey Galygin <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>> 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>> wrote:
>>     >>>
>>     >>>
>>     >>>> On 29 Sep 2020, at 17:12, Ilya Evseev
>>     <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
>>     >>>
>>     >>> --
>>     >>> Sergey Kandaurov
>>     >>>
>>     >>> _______________________________________________
>>     >>> nginx-ru mailing list
>>     >>> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
>>     >>> 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
>>     >>
>>     >
>>     > _______________________________________________
>>     > nginx-ru mailing list
>>     > nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
>>     > 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
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org <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
> 



Подробная информация о списке рассылки nginx-ru