Подавать файл PDF только авторизованному пользователю с PHP - PullRequest
0 голосов
/ 10 апреля 2019
  • Я хочу передать файл PDF аутентифицированному пользователю через PHP.
  • Только владелец должен иметь доступ к этому файлу, поскольку он содержит разумную информацию.

Прямое решение будет:

Проверьте, прошел ли пользователь аутентификацию, и перенаправьте на исходный путь PDF.

Но это позволило бы пользователю узнать путь, где хранятся файлы PDF, и просто попытаться получить доступ к случайным именам PDF, что очень небезопасно.

Я думал о другом способе, вдохновленном этим вопросом: Скрыть реальный путь к изображениям в php можно?

Делаем это следующим образом:

# user visits /pdf-public/whatever
# where the index.php file would be:

<?php

....

if($user_id){

  if(file_exists("../pdf-secret/whatever-" . $user_id.".pdf")){

      header('Content-Type: application/pdf');
      readfile("../pdf-secret/" . $user_id.".pdf");
  }

}

Вопрос:

  • Это безопасный способ?
  • Есть ли у пользователя какой-либо способ найти реальный путь / pdf-secret /?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...