Разрешить пользователям загружать файлы вне webroot

Здравствуйте! Я использую PHP, чтобы разрешить пользователям загружать файлы, и я храню их в папке вне папки webroot (/ var / www) по соображениям безопасности. Он находится в папке / var / uploads. Пользователь загружает файлы для определенных записей. После того, как загруженные файлы перемещены в папку загрузки, адрес вложения сохраняется в базе данных. Теперь, когда пользователь проверяет запись, вложения для конкретной записи будут отображаться для загрузки.

Так как они не находятся в веб-корне, я не могу загрузить их, так как они будут иметь URL-адрес

Http: //localhost/var/uploads/attachment.txt

Есть ли у нас решение или это загружаемые папки должны быть дочерними каталогами webroot?

<?php
$con = mysql_connect("localhost","id","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("db", $con);

$result = mysql_query("select * from attachments");

while($row = mysql_fetch_array($result))
{
echo '<a href="'.$row[2].'" target="_blank">Download</a>--'.$row[3].'<br>';
}

mysql_close($con);
?> 

это код, который я использую. Владелец папки - www-data: / или веб-сервер. Так что не должно быть проблем с доступом.

Ответы на вопрос(3)

Ваш ответ на вопрос