да, примеры были из habr, но и там к статье были претензии к map-решению + я специально усложнил пример регулярными выражениями
поэтому указанный map это не эквивалент во вторых плохо читаемый хак и издевательство над линейной логикой зачем такие костыли, если можно доделать нормальный if? > On 30 Sep 2020, at 05:14, fox <[email protected]> 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, Илья Шипицин <[email protected] >>> <mailto:[email protected] <mailto:[email protected]>>> wrote: >>> >>> это вкусовщина же. вы готовы писать "eif", чтобы выразить свою мысль в >>> определенном синтаксисе. >>> сейчас вы точно так же выражаете свою мысль через map-ы. >>> >>> по сути просто диалекты языка >>> >>> вт, 29 сент. 2020 г. в 22:41, Alexey Galygin <[email protected] >>> <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>>>: >>> >>> иногда трудно обойтись без дополнительной логики, >>> которую ради такой мелочи отдавать на backend грустно >>> >>> и речь про улучшение поведения исключительно с обратной совместимостью >>> >>> если совсем никак, то можно добавить условно extended if — eif >>> >>> >>>> On 29 Sep 2020, at 19:47, fox <[email protected] <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>>> wrote: >>>> >>>> 1) может, потому что конфиг - это не язык программирования? >>>> >>>> 2) изменение поведения сломает тысячи существующих систем. >>>> >>>> >>>> 29.09.2020 23:31, Alexey Galygin пишет: >>>>> присоединяюсь к вопросу: >>>>> >>>>> почему бы не сделать if нормальным? чтобы без артефактов… и >>> немного мощнее >>>>> >>>>> нам вот тоже приходится делать по несколько map, чтобы логику >>> чуть более сложную построить… >>>>> и это ужас >>>>> >>>>>> On 29 Sep 2020, at 19:29, Sergey Kandaurov <[email protected] >>>>>> <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>>> wrote: >>>>>> >>>>>> >>>>>>> On 29 Sep 2020, at 17:12, Ilya Evseev >>> <[email protected] <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>>> >>> 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 >>>>>> [email protected] <mailto:[email protected]> >>>>>> <mailto:[email protected] <mailto:[email protected]>> >>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>>> <http://mailman.nginx.org/mailman/listinfo/nginx-ru> >>>>> >>>>> _______________________________________________ >>>>> nginx-ru mailing list >>>>> [email protected] <mailto:[email protected]> <mailto:[email protected] >>>>> <mailto:[email protected]>> >>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>> <http://mailman.nginx.org/mailman/listinfo/nginx-ru> >>>>> >>>> >>>> _______________________________________________ >>>> nginx-ru mailing list >>>> [email protected] <mailto:[email protected]> <mailto:[email protected] >>>> <mailto:[email protected]>> >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>> <http://mailman.nginx.org/mailman/listinfo/nginx-ru> >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> [email protected] <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>> >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> <http://mailman.nginx.org/mailman/listinfo/nginx-ru> >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> [email protected] <mailto:[email protected]> <mailto:[email protected] >>> <mailto:[email protected]>> >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> <http://mailman.nginx.org/mailman/listinfo/nginx-ru> >> >> >> _______________________________________________ >> nginx-ru mailing list >> [email protected] <mailto:[email protected]> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> <http://mailman.nginx.org/mailman/listinfo/nginx-ru> >> > > _______________________________________________ > nginx-ru mailing list > [email protected] <mailto:[email protected]> > http://mailman.nginx.org/mailman/listinfo/nginx-ru > <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
