Совместить две переменных в if

D
На сайте с 28.06.2008
Offline
1114
1429

Можно как то это свети в одно if? Чисто для красоты ради... NGINX

if ($bad_bot) {
return 444;
}
if ($bad_useragent) {
return 444;
}
S
На сайте с 23.05.2004
Offline
315
#1


set $bad = 0;
if ($bad_bot) {
set $bad = 1;
}

if ($bad_useragent) {
set $bad = 1;
}

if ($bad = 1) {
return 444;
}

Как то так по рекомендациям.

Это просто подпись.
D
На сайте с 28.06.2008
Offline
1114
#2

Из 2 иф сделали 3 :))) спасибо - еще мнения?

---------- Добавлено 04.01.2017 в 15:48 ----------

Я имел в виду ка кто так можно?

if ($bad_bot|$bad_useragent) {
return 444;
}
S
На сайте с 23.05.2004
Offline
315
#3
Dram:
Из 2 иф сделали 3

Это по рекомендациям разработчика, похожих примеров у них на конференции много.

vandamme
На сайте с 30.11.2008
Offline
675
#4

вообще-то у него скорее всего true && true

if ($bad_bot && $bad_useragent) {
return 444;
}

еще как вариант

return ($bad_bot && $bad_useragent) ? 567 : 765;

пример http://ideone.com/19Pi7C

S
На сайте с 23.05.2004
Offline
315
#5

vandamme, тут конфиг nginx, а не php код. В nginx нет, но по крайней мере не было "and" оператора.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#6
Dram:
Можно как то это

if ($bad_bot) {
return 444;
}
if ($bad_useragent) {
return 444;
}

свети в одно if? Чисто для красоты ради... NGINX

Sure:


set $test_bad $bad_bot$bad_useragent;
if ($test_bad ~ 1) {
return 444;
}
⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий