Разрешение безопасных загрузок в PHP для веб-сайтов

Я загрузил некоторые zip-файлы на свой сервер и теперь хочу разрешить пользователю загружать их, если у него / нее есть соответствующий пароль. Я пишу код на PHP и сделал так, чтобы пользователь не мог получить доступ к странице со ссылками на zip-файлы, если не был введен правильный пароль, но, имея ссылку на мой zip-файл, пользователь мог просто увидеть и в будущем делами введите абсолютное местоположение zip-файла и пропустите проверку моего пароля. Если я изменю права доступа к файлу zip, то я не смогу иметь его в качестве ссылки, потому что пользователь не сможет получить к нему доступ. Как я могу позволить пользователю получить zip-файл, сохраняя его в безопасности? Любые предложения будут высоко ценится.

3 ответа

Лучший способ сделать это - mask url,

  • логины пользователей
  • сгенерировать токен на основе его логина. немного md5 или что вы решите
  • создать ссылку для скачивания (например: download.php), которые загружают файл на основе действительного токена и сеанса и получают файл с file_get_contents(),

Используйте.htaccess, чтобы запретить прямой доступ к файлам. Поместите этот файл.htaccess в соответствующую папку.

Затем из php authenticate user и после успешной аутентификации перенаправьте пользователя на download.php с именем файла в качестве параметра (или даже id), затем используйте force download чтобы позволить им скачать. Таким образом, даже если они имеют прямую ссылку на zip-файл, они не смогут загрузить файл.

Вам нужно написать код, который может скрывать ссылки для скачивания / ссылки должны истечь, и новые ссылки должны занять свое место и / или ссылки должны измениться.

Вы можете кодировать его в PHP или использовать существующий фрагмент кода, который именно это и делает.

http://sixthlife.net/product/secure-download-links/

Другие вопросы по тегам