rmöglichen Sie Benutzern das Herunterladen von Dateien außerhalb von Webroo

Hallo Ich verwende PHP, um Benutzern das Hochladen von Dateien zu ermöglichen, und ich habe sie aus Sicherheitsgründen in einem Ordner außerhalb des webroot-Ordners (/ var / www). Es befindet sich im Ordner / var / uploads. Ein Benutzer lädt Dateien für bestimmte Datensätze hoch. Sobald die hochgeladenen Dateien in den Upload-Ordner verschoben wurden, wird die Adresse des Anhangs in der Datenbank gespeichert. Sobald ein Benutzer den Datensatz überprüft, werden Anhänge für den jeweiligen Datensatz zum Herunterladen angezeigt.

Da sie nicht mehr im Web verfügbar sind, kann ich sie nicht herunterladen, da sie eine URL von @ haben würde

http: //localhost/var/uploads/attachment.tx

Haben wir eine Lösung oder sollten es herunterladbare Ordner sein, die untergeordnete Verzeichnisse der Webroot sind?

<?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);
?> 

ist der Code, den ich benutze. Der Eigentümer des Ordners ist www-data: / oder der Webserver. Es sollte also keine Zugriffsprobleme geben.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage