Для загрузки файлов на сервер рекомендуется использовать несколько расширений:
При загрузке файлов в первую очередь проверяйте расширение файла, а не его mimeType.
При сохранении файла на сервер в целях безопасности рекомендуется генерировать новое имя, в качестве которого стоит использовать хэш, а в качестве разрешения использовать расширение исходного файла.
При сохранении файлов на сервер их стоит распределять по папкам, принадлежащим отдельным сущностям, а также желательно распределять их еще на один уровень вложенности, который будет равен ID элемента сущности. Например, изображения страниц модуля Контент хранится в следующей директории:
@staticPath/content/post/{id}/
где {id} - ID записи в БД.
Проследить, чтобы у всех директорий, в которых хранятся файлы, была выключена индексация в .htaccess.
Если в проекте предусмотрен прямой доступ к изображениям, которые могут попасть в индекс Поисковой системы, то следует предусмотреть исключения папки в файле robots.txt. Данный момент рекомендуется уточнить у Заказчика.
Для того, чтобы мы смогли Вам предоставить доступ расскажите немного о себе
Опишите в форме ниже задачу, которую требуется реализовать.