Задать вопрос

Как и где лучше хранить документы на сайте?

Встала задача загрузки на сайт документов для верификации пользователей. Как их лучше загружать и хранить в дальнейшем без утечек? Серверная часть сайта на PHP. Поделитесь вашими советами или мануалами.
  • Вопрос задан
  • 725 просмотров
Подписаться 4 Простой 1 комментарий
Решения вопроса 1
glaphire
@glaphire Куратор тега PHP
PHP developer
1) создаете папку для документов за пределами публичной папки (той, в которой index.php и статика)
2) создаете экшен для загрузки файлов, помещаете туда эти файлы, привязываете файл к пользователю на уровне базы данных
3) отдача файла для просмотра должна производиться только через экшен (чтобы не было прямого доступа к файлу методом подбора урла), с проверкой, что только юзер и админы могут его просматривать
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Sanes
@Sanes
загрузки на сайт документов для верификации

Не надо их хранить. Посмотрели и удалили.
Ответ написан
@TheLostRoot
C# ASP.NET developer
Посмотрите в сторону объектных хранилищь например Minio(совместим с AWS S3). Разверните его у себя на сервере и храните там. Это будет надеждее чем просто хранить в папке как предлогали в сообщениях выше.
Ответ написан
Комментировать
@voleg4u
http://www.voleg.info/
Видел подобный пример когда AWS учил. Документ грузился напрямик в S3 по токену с веб сервера. Без токена никому нет никакого доступа. Как-то так.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Странно как! Все прочитали вопрос и никто даже не заметил!
встала задача загрузки на сайт документов для верификации пользователей
Крайне косячная задача у вас встала! )))
Вы перепутали: "на сайт" и "через веб-страницу" )))

Ну а далее, сайт здесь вообще ни при чём!
После приёма и валидации "тела" файла (что файл с расширением pdf - это не скрипт, и т.д.), серверным скриптом из памяти сразу ПЕРЕДАЛИ через внутренний вызов внутреннего сервиса скрипта-обработчика, который производит над документом нужные действия, шифрует и кладёт его в хранилище (папку,БД, и т.д.), которое вообще никак недоступно извне.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы