Перейти к содержанию

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.