return обходит allow/deny
return_bypasses_allow_deny¶
Предупреждает, когда return используется в той же области, что и allow/deny, поскольку return имеет приоритет и может обходить контроль доступа.
- Важность: Средняя
- Директивы:
allow,deny
Зачем это важно¶
В nginx директива return выполняется раньше, чем allow/deny в той же области, что может привести к непреднамеренной выдаче содержимого.
Небезопасно¶
location / {
allow 127.0.0.1;
deny all;
return 200 "hi";
}
Более безопасные альтернативы¶
- Используйте именованную локацию и
try_filesдля условного направления трафика. - Перенесите контроль доступа на более высокий или соответствующий контекст, где он применяется до
return.