Скачать только по сессии

Предположим, я хочу разместить у себя pdf файлы в определенном каталоге на моем сервере (например, domain/myfiles ). По этой причине я создаю уникальную — трудно угадываемую — ссылку, используя некоторые общие функции php, а затем помещаю файл в этот определенный каталог ( domain/myfiles/hardToGuessHash.pdf ).

Однако, если кто-то получит доступ к моему серверу через domain/myfiles/hardToGuessHash.pdf он сможет увидеть и скачать этот файл.

Есть ли способ требовать session access заранее, чтобы остановить несанкционированный доступ к моим документам? Я искал на StackOverflow, но я действительно ничего не придумал.

осветление Я не хочу скрывать ссылку на скачивание. Я хочу требовать проверки для загрузки. Например, если человек A, у которого есть права на загрузку файла, копирует и вставляет ссылку на скачивание для человека B, то человек B не сможет загрузить файл, просто по ссылке!

Спасибо !

1

Решение

так что храните файлы вне корня документа — тогда никто не имеет прямого доступа.

все файлы разделяются через 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, иначе никто не сможет

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]