Предположим, я хочу разместить у себя pdf
файлы в определенном каталоге на моем сервере (например, domain/myfiles
). По этой причине я создаю уникальную — трудно угадываемую — ссылку, используя некоторые общие функции php, а затем помещаю файл в этот определенный каталог ( domain/myfiles/hardToGuessHash.pdf
).
Однако, если кто-то получит доступ к моему серверу через domain/myfiles/hardToGuessHash.pdf
он сможет увидеть и скачать этот файл.
Есть ли способ требовать session access
заранее, чтобы остановить несанкционированный доступ к моим документам? Я искал на StackOverflow, но я действительно ничего не придумал.
осветление Я не хочу скрывать ссылку на скачивание. Я хочу требовать проверки для загрузки. Например, если человек A, у которого есть права на загрузку файла, копирует и вставляет ссылку на скачивание для человека B, то человек B не сможет загрузить файл, просто по ссылке!
Спасибо !
так что храните файлы вне корня документа — тогда никто не имеет прямого доступа.
все файлы разделяются через 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, иначе никто не сможет
Других решений пока нет …