【问题标题】:Deny access from browser to uploads folder拒绝从浏览器访问上传文件夹
【发布时间】:2015-05-18 12:52:28
【问题描述】:

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

有什么建议吗?

如果有意义的话,我正在将 WAMP 与 Apache 2.4.9 和 PHP 5.5.12 一起使用。

【问题讨论】:

  • 最简单的解决方案是将空 index.html 文件上传到上传文件夹

标签: php .htaccess


【解决方案1】:

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

Options -Indexes

【讨论】:

  • 是的,这就是我要找的。谢谢!
【解决方案2】:

使用:

Options -Indexes

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

【讨论】:

    【解决方案3】:

    首先在您的 uploads 文件夹中创建一个.htaccess 文件。

    然后添加:

    Options -Indexes

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

    类似这样的:

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

    【讨论】:

      【解决方案4】:

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

      我创建了一个名为 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');
      
      
      
      }
      

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

      【讨论】:

      • 这很复杂。您只需要一个.htaccess 文件和一行代码,就完成了。你不需要 13 行代码来做到这一点。
      • @Akar 如果您创建一个网站并依靠 Options -Indexes 来确保存储社会安全号码、信用卡或其他敏感信息的文件的安全性,请告诉我。跨度>
      猜你喜欢
      • 1970-01-01
      • 2013-03-16
      • 2013-01-17
      • 2016-05-23
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多