Да, это возможно, и это хорошо
Я уже работал над такими системами, я работал на сайтах, похожих на Google Drive или Dropbox, и безопасность/конфиденциальность файлов пользователя на первом месте, и точка, которую вы делаете, очень верна и разумна.
Позвольте мне объяснить вам, что вы можете сделать, чтобы сделать это возможным, поэтому, даже если администратор / кто-либо имеет ftp-доступ к папке, он / она вообще не сможет видеть изображения.
Когда вы сохраняете изображения в своей базе данных, а также сохраняете ссылку на facebook, чтобы проверить, действительна она или нет, сохраните также следующую информацию из изображения, чтобы использовать ее позже для расшифровки изображений.
- Размер файла
- Тип изображения
- Расширение изображения
- Изображение Оригинальное название
- Зашифрованное имя изображения
- Путь к изображению
- Пользователь изображения
- Путь пользователя
Теперь позвольте мне объяснить вам, что эти столбцы будут означать для вашей системы.
Размер файла, очевидно, будет размером изображения, которое вы сохраняете на свой сервер, на случай, если вам понадобится информация для понимания вашего сервера.
Тип изображения должен быть типом файла, например: image/jpeg
или image/png
.
Расширение изображения Должно быть расширение изображения, которое вам нужно будет использовать для расшифровки изображения внутри вашей системы.
Исходное имя изображения также должно использоваться системой для расшифровки изображения, чтобы показать исходное имя изображения.
скажем, исходное имя изображения + расширение изображения будут использоваться внутри функции headers
для php.
Зашифрованное имя изображения , это будет случайная строка без расширения файла, например:
скажем, у вас есть изображение с именем: myimage.jpeg
, теперь вам нужно сохранить исходное имя файла и расширение в базу данных, а затем при использовании функции move_uploaded php переместить файл в папку пользователя (папка также может быть уникальной случайной строкой для каждого пользователя), затем просто переименуйте файл внутри процесса загрузки во что-то вроде 823982j3kkj2hjh3j2h323hj2h3jh23jh
просто случайную строку без расширения внутри папки со случайной строкой, которая связана с пользователем, которого даже пользователь не знает, и сохраните это случайное имя строки вместе с другие детали изображения, а позже вам нужно будет идентифицировать изображение и переименовать его в исходное с расширением.
Путь к изображению должен быть полным путем к папке с изображением. Это необходимо для идентификации папки, в которой вы сохранили изображение.
Изображение пользователя это, очевидно, идентификатор пользователя
Путь пользователя это случайная строка с именем папки, в которой будет храниться изображение.
таким образом, вы зашифруете изображение, и оно будет видно только пользователю только из функциональных возможностей системы, даже администраторы не смогут идентифицировать папку или файлы, которые подключены к пользователям, и файлы будут сохранены без расширения и без оригинального имени, поэтому только система сможет его расшифровать.
Надеюсь, я дал вам представление о том, как вы можете это сделать.
person
Arsh Singh
schedule
15.05.2016