Я думаю, достаточно ли это хорошо или нет, зависит от того, на какой риск вы готовы пойти. Для базовой защиты это может быть хорошо.
Что вы должны учитывать, так это то, что произойдет, если файлы будут украдены злоумышленником, не прошедшим проверку подлинности, или, я полагаю, будет какой-то контроль доступа, и пользователи будут иметь доступ к своим собственным файлам, и в этом случае очевидный риск - это пользователь возможность доступа к чужим файлам. Как это повлияет на ваш сайт / бизнес, если это произойдет? Готовы ли вы пойти на этот риск? От кого вы пытаетесь защититься? Детишки оппортунистического сценария? Злоумышленники, специально нацеленные на ваш сайт? Атаки на государственном уровне? Вы должны сначала ответить на них.
Недостатком этого решения является то, что любое нарушение на уровне приложения или операционной системы, скорее всего, даст доступ ко всем загруженным файлам всех пользователей. Если ваше приложение уязвимо для таких вещей, как включение локальных файлов, обход каталогов, даже внедрение SQL в определенные базы данных или множество других уязвимостей, ваши файлы могут быть загружены. Хотите ли вы защитить их больше, зависит от вашего варианта использования.
Более безопасными вариантами могут быть хранение их на отдельном сервере (какое-то файловое хранилище), шифрование их ключами, специфичными для пользователя (и тогда управление ключами и криптография вообще — это огромная тема), вы можете реализовать идентификацию mime-типа с белыми списками, чтобы разрешить только определенные типы файлов (это немного другой аспект), или вы даже можете добавить сквозное шифрование для защиты от себя (оперативного персонала) и т. д. Вы можете пойти на многое в плане защиты этих файлов, если вы хочу, но это становится очень сложным очень быстро.
person
Gabor Lengyel
schedule
06.10.2016