Ограничьте размер загрузки и суммарные квоты, пишите во временный файл и контролируйте доступное место. Предварительная проверка свободного диска полезна, но не защищает от параллельных загрузок.
Как защититься от переполнения пространства на целевом сервере при передаче большого файла?
Ограничьте размер загрузки и суммарные квоты, пишите во временный файл и контролируйте доступное место. Предварительная проверка свободного диска полезна, но не защищает от параллельных загрузок.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Ограничьте размер загрузки и суммарные квоты, пишите во временный файл и контролируйте доступное место. Предварительная проверка свободного диска полезна, но не защищает от параллельных загрузок.
Резервируйте бюджет на сервере, проверяйте фактически полученные байты, а не только Content-Length. При превышении лимита или ошибке записи прерывайте приём и удаляйте временный файл. Учитывайте распаковку архивов, inode, логи и запас для работы системы. Готовый проверенный файл можно атомарно переименовать в пределах одной файловой системы; очистка незавершённых загрузок должна иметь срок.