Предположим, что я хочу разместить некоторые файлы pdf
в определенной директории на моем сервере (например, domain/myfiles
). По этой причине я создаю уникальную - трудно угадать - ссылку, используя некоторые общие функции php, а затем помещаю файл внутри этого определенного каталога (domain/myfiles/hardToGuessHash.pdf
).
Однако, если кто-то domain/myfiles/hardToGuessHash.pdf
доступ к моему серверу через domain/myfiles/hardToGuessHash.pdf
он сможет просмотреть и загрузить этот файл.
Есть ли способ, чтобы предварительно запросить session access
, чтобы остановить несанкционированный доступ к моим документам? Я искал в StackOverflow, но я действительно ничего не придумал.
Уточнение: я не хочу скрывать ссылку для загрузки. Я хочу потребовать проверку для загрузки. Например, если пользователь A -that имеет права на скачивание копий file- - вставляет ссылку загрузки на человека B, тогда человек B не должен скачивать файл, просто из ссылки!
Благодаря !
поэтому храните файлы за пределами документа root-, затем NO имеет прямой доступ.
все файлы разделяются с помощью php-страницы, которая проверяет сеанс:
<?php
session_start();
if (isset($_SESSION['logged_in'])) { //or what ever session check you like
$file = '/this/is/the/path/file.mp3';
header('Content-type: audio/mpeg');
header('Content-length: ' . filesize($file));
readfile($file);
}else{
echo 'you cant have the file';
}
?>
я признаю, что воровал большую часть этого Разрешить зарегистрированный пользователь для загрузки файла на PHP еще никто не может