Как разрешить пользователям с необходимым разрешением скачивать файл через php?
У меня есть php-файл, который действует как привратник для всех файлов, которые я хочу, чтобы люди скачивали, у которых достаточно привилегий.
Код, который я использую, бросает файл пользователю
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Content-disposition: attachment; filename=\"".$public_filename."\"");
header("Content-Transfer-Encoding: Binary");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-length: ".$f_filesize);
readfile($file_path);
Большинство файлов довольно большие .... 400 МБ-10 ГБ.
Что может быть хорошим способом сделать это, и держать в тайне истинные местоположения + имена файлов, чтобы люди не могли просто ссылаться на файлы напрямую, но ДОЛЖНЫ связываться через мой файл download.php? File = ID gatekeeper?
Спасибо
РЕДАКТИРОВАТЬ: Я не спрашиваю, как сделать аутентификацию пользователя, все, что сделано. Я просто спрашиваю, является ли мой способ сделать это хорошей идеей в больших масштабах. Похоже, это может вызвать проблемы с памятью, если я продолжу читать файлы 10 ГБ.