2017-02-18 5 views
0

У меня есть многопользовательский PHP webapp, который создает файлы PDF для загрузки пользователями. PDF-файлы легко доступны по URL-адресу, поэтому пользователи могут просматривать или загружать их.Как предотвратить доступ к некоторым файлам на PHP?

Это схема из URL

http://<mywebappaddress>.com/downloads/pdf_<userid>_<date>.pdf 

веб-приложение позволяет пользователям получить доступ только к PDF-файлам, однако пользователи могли бы посмотреть на URL, изменить идентификатор пользователя (угадывание другого идентификатора пользователя может быть) и Donwload PDF-файлы от других пользователей.

Каков наилучший подход в PHP для предотвращения этого?

ответ

1

Есть много способов предотвратить это

  1. имя файла Шифрование PDF и хранить в базе данных с user_id и предоставить имя только для разрешенного пользователя.

  2. Вы можете хранить все другие, чем ваши PDF-файлы служат как Amazon Simple Storage Service (Amazon S3)

Первый вариант является бесплатным

+0

Я рассмотрел первый вариант. Вставка случайного токена в имя файла будет держать других пользователей в стороне. Однако у меня также есть другое ограничение: каждый пользователь создает несколько PDF-файлов, но эти PDF-файлы должны иметь одинаковое имя файла (т. Е. Тот же самый PDF-файл должен быть перезаписан). В противном случае у меня будет постоянно растущая папка загрузки –

+0

либо вы можете перезаписать или просто удалить файл, если он существует, и создать новый. – C2486

+0

конечно! благодаря –