КаталогBuilderPHPDocs

Глава 20. Загрузка файлов

Практически любой современный сайт позволяет пользователям загружать изображения, документы или архивы. Неправильная реализация загрузки файлов — одна из самых распространённых причин взломов.

Массив $_FILES

После отправки формы PHP заполняет массив $_FILES с информацией о временном файле, размере и имени.

Проверка

Проверяйте размер, MIME-тип и расширение. Никогда не доверяйте имени файла пользователя.

Перемещение

Используйте move_uploaded_file() и сохраняйте файлы под новым случайным именем.

Безопасность

Не разрешайте загрузку PHP-файлов и храните пользовательские данные вне публичной директории, если это возможно.