Любопытно — плюсы и минусы сохранения загруженных пользователем изображений с общим расширением файла (например, .tmp)?

Поэтому, когда пользователь загружает изображение, я сохраняю информацию об изображении, такую ​​как новое имя, оригинальное имя, размер и тип mime, в таблице базы данных mysql и сохраняю изображение в файловой системе, а также переименовываю (однозначно) изображения с помощью общей расширение файла (.tmp).
Например —

nice_pic.jpg(user uploads) -> 0c14549a484.tmp(in server file system),
Теперь, когда мне нужно добавить изображения в DOM, я просто переименую изображение снова с их исходным расширением из базы данных.
такие как — 0c14549a484.tmp -> 0c14549a484.jpg,

Кто-то сказал мне, что есть преимущества безопасности. Но не уверен, что этот процесс именования-переименования стоит преимуществ? Хотелось бы узнать с объяснением.

0

Решение

Минусы:
Это, на мой взгляд, добавляет много дополнительных затрат на сохранение данных, а также увеличивает длину вашего хэша (вы не можете сохранить столько файлов с более коротким именем файла).

Что касается выполнения, если вы разрешаете запускать загруженные файлы на сервере, вы должны уже думать о изолированной среде выполнения (т.е. Docker) для запуска файлов. Разрешение внешним файлам изменять системную среду является огромным недостатком безопасности в 99,99% всех случаев, независимо от расширения файла.

Кроме того, если вы запускаете что-то вроде Google Drive с тысячами фотографий, вы теряете вычислительное время (хотя и незначительное) для этой обработки.

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector