Троллишь? 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, Илья Шипицин <chipits...@gmail.com >> <mailto:chipits...@gmail.com>> wrote: >> >> это вкусовщина же. вы готовы писать "eif", чтобы выразить свою мысль в >> определенном синтаксисе. >> сейчас вы точно так же выражаете свою мысль через map-ы. >> >> по сути просто диалекты языка >> >> вт, 29 сент. 2020 г. в 22:41, Alexey Galygin <m...@me.com >> <mailto:m...@me.com>>: >> >> иногда трудно обойтись без дополнительной логики, >> которую ради такой мелочи отдавать на backend грустно >> >> и речь про улучшение поведения исключительно с обратной совместимостью >> >> если совсем никак, то можно добавить условно extended if — eif >> >> >> > On 29 Sep 2020, at 19:47, fox <red-f...@ya.ru >> <mailto:red-f...@ya.ru>> wrote: >> > >> > 1) может, потому что конфиг - это не язык программирования? >> > >> > 2) изменение поведения сломает тысячи существующих систем. >> > >> > >> > 29.09.2020 23:31, Alexey Galygin пишет: >> >> присоединяюсь к вопросу: >> >> >> >> почему бы не сделать if нормальным? чтобы без артефактов… и >> немного мощнее >> >> >> >> нам вот тоже приходится делать по несколько map, чтобы логику >> чуть более сложную построить… >> >> и это ужас >> >> >> >>> On 29 Sep 2020, at 19:29, Sergey Kandaurov <pluk...@nginx.com >> <mailto:pluk...@nginx.com>> wrote: >> >>> >> >>> >> >>>> On 29 Sep 2020, at 17:12, Ilya Evseev >> <nginx-fo...@forum.nginx.org <mailto:nginx-fo...@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 mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru