Как в Nginx запретить загрузку файлов?

Добрый день.
Можно ли в nginx запретить обрабатывать post в котором есть файлы?
  • Вопрос задан
  • 3806 просмотров
Решения вопроса 1
@hAlex Автор вопроса
Такое больше подходит

В контексте location ( в server тоже наверное будет работать)

if ($content_type ~* form-data) {
  return 404; // Ну или редирект
}


То есть если запрос имеет contetn-type multipart/form-data, то скорее всего там файл, значит вон пшёл).
А если в форме нет файла, то ставить ей правильный enctype (application/x-www-form-urlencoded) и форма пройдет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Можно запретить принимать POST запросы вообще, либо ограничить их размер:

# не принимать POST вообще
location /nopost/ {
    limit_except  GET HEAD { deny   all; }
}

# не больше 1к данных постом
location /smallpost/ {
    client_max_body_size = 1k;
}
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
А в чём отличие обычного POST запроса от POST-запроса с файлом, по-вашему) ? Правильно, ни в чём. Файл вставляется в request_body в бинарном виде.

Так что только по размеру. Или совсем запрещать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы