Вы можете использовать язык на стороне сервера и таким образом сохранять доступ к информации / управлению.Вам не нужно использовать .htaccess с этим направлением.
Говоря о безопасности, на мой взгляд, это лучший метод, потому что вы проверяете все на бэкэнде.
Обновленный код:
<?php
# Wrap this in your credentials -- #
$directory_path = $_SERVER['DOCUMENT_ROOT'] . "/directory/path/here/";
$file_path = $directory_path . $_GET['downloadfile'];
if ($file_exists = fopen ($file_path, "r"))
{
$file_size = filesize($file_path);
$file_parts = pathinfo($file_path);
$file_extenion = strtolower($file_parts["extension"]);
header("Content-type: application/octet-stream");
header("Content-Disposition: filename=\"".$file_parts["basename"]."\"");
header("Content-length: $file_size");
header("Cache-control: private"); //use this to open files directly
while(!feof($file_exists))
{
$buffer = fread($file_exists, 2048);
echo $buffer;
}
}
fclose ($file_exists);
exit;
# -- End credential wrap -- #
?>
Затем вы можете вызвать файл с помощью download.php?downloadfile=something.jpg
Вам нужно будет поставить соответствующие заголовки /MIME-типы для ваших файлов и оберните это в вашей проверки учетных данных, но это должно работать для вас.
Дайте мне знать, если у вас есть вопросы.