【发布时间】:2014-09-12 14:31:51
【问题描述】:
我有一个网站,您可以从中下载资源。
我想要的是禁用存储项目的文件夹的公共访问权限,但允许网站访问它们以进行下载。
我在 .htaccess 中使用了Order deny,allow,但如果我使用它,我将无法从网站下载。
它会给我错误 404,与尝试为文件键入直接 url 相同。已执行下载。
我有以下代码:
$link = $item->link;
$link_headers = get_headers($link);
//Headers
if(isset($link_headers[0]))
{
header($link_headers[0]);
}//if exists
if(isset($link_headers[1]))
{
header($link_headers[1]);
}//if exists
if(isset($link_headers[2]))
{
header($link_headers[2]);
}//if exists
if(isset($link_headers[3]))
{
header($link_headers[3]);
}//if exists
if(isset($link_headers[4]))
{
header($link_headers[4]);
}//if exists
if(isset($link_headers[5]))
{
header($link_headers[5]);
}//if exists
if(isset($link_headers[6]))
{
header($link_headers[6]);
}//if exists
if(isset($link_headers[7]))
{
header($link_headers[7]);
}//if exists
if(isset($link_headers[8]))
{
header($link_headers[8]);
}//if exists
readfile($link);
exit;
问题是,如果我将 .htaccess 和拒绝全部放入包含所有要下载的项目的文件夹中,那么下载将不再起作用,因为我没有权限,并且我希望仅对尝试下载的人可用从直接链接到来自 url 的文件。
【问题讨论】:
-
您想用密码保护文件夹吗?您在寻找某种用户级别的访问限制吗?
-
我想要的是不允许从直接链接访问文件。例如像这样访问 www.website.com/downloads/file32.jpg 应该返回权限被拒绝。
-
您必须使用文件的路径。我猜你使用文件的链接。