【发布时间】:2010-10-07 18:28:16
【问题描述】:
您好,我正在使用 PHP 来允许用户上传文件,出于安全原因,我将它们放在 webroot (/var/www) 文件夹之外的文件夹中。它位于文件夹 /var/uploads 中。用户上传特定记录的文件。一旦上传的文件被移动到上传文件夹,附件的地址就会存储在数据库中。现在,每当用户检查记录时,都会显示特定记录的附件以供下载。
由于它们不在 webroot 中,我无法下载它们,因为它们的 url 为
我们是否有解决方案,或者它应该是可下载文件夹是 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:/ 或 Web 服务器。所以应该没有访问问题。
【问题讨论】:
-
“现在每当用户检查记录时,将显示特定记录的附件以供下载” - 这不会破坏您对安全性的需求吗?