- Я хочу передать файл 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 /?