拒绝从浏览器访问上传文件夹

时间:2015-05-18 12:52:29

标签: php .htaccess

我正在自己的网页上工作。我有一个上传文件夹,我在其中存储上传的内容,如照片,pdf,文档等。我想限制对该文件夹的访问(不允许请求,例如' http://www.mywebpage.com/uploads') 。我尝试创建.htacces文件,其中包含' Deny from all'记录。现在对该文件夹的访问受到限制,但出现了其他问题 - 我的网站上缺少所有照片或其他文件。我猜,由于.htaccess文件,无法访问它们。

有什么建议吗?

我使用WAMP与Apache 2.4.9和PHP 5.5.12(如果有意义的话)。

4 个答案:

答案 0 :(得分:1)

您是否只想拒绝访问www.yourpage.com/uploads的目录列表? 如果是这样,请尝试使用:

Options -Indexes

答案 1 :(得分:0)

使用:

Options -Indexes

阻止用户列出您上传文件夹的内容。

答案 2 :(得分:0)

首先在上传文件夹中创建一个.htaccess文件。

然后添加:

Options -Indexes

这将阻止目录列表,但您仍然可以使用直接URL查看图像。

这样的事情:

http://yourwebsite.com/photos/cute_cat.jpg

答案 3 :(得分:-1)

这就是我在所有网站上所做的事情:

我创建了一个名为give_file.php的文件

从抓取限制访问权限的文件夹中抓取所有文件并将其返回给用户。

//select access permissions from database. Then figure out if user is allowed to access it. if user is allowed to access it, set $allowed to 1;
if($allowed)
{

        $R=mysqli_query($Conn,'select * from users where resume=1 and id=' .$_REQUEST['uid']);
        if(mysqli_num_rows($R)==0)
        exit;
        $l=mysqli_fetch_assoc($R);
        $ln=$l['last_name'];
        $fn=$l['first_name'];
        $uniqueid=$l['uniqueid'];
        header("Content-type:application/pdf");
        header("Content-Disposition:attachment;filename='".$ln .'_' . $fn . "_resume.pdf'");
        readfile("resumes/resume_" . $uniqueid . '.pdf');



}

您可以确定每种图像类型所需的标题类型。通过这样做,您可以跟踪所有使用统计信息,查看人们是否从其他地方访问网站,并执行所有其他有趣的事情。