【问题标题】:Deny external access to folder拒绝外部访问文件夹
【发布时间】:2013-09-19 10:25:58
【问题描述】:

有没有办法拒绝外部访问我的上传目录?!我不希望用户访问我的上传目录:www.example.com/uploads

我在上传文件夹的根目录中使用了 .htaccess,但是所有链接都损坏了

在我的 .htaccess 中:

deny from all

任何解决方案?

【问题讨论】:

  • >>我不希望用户访问我的上传目录>但是所有链接都被破坏了
  • 我想我已经回答了您的问题,但如果没有,您需要提供更多说明。您希望阻止哪种访问,以及您希望允许哪种访问?如果用户要下载文件,必须允许访问该目录。
  • 没错!我的 htaccess 工作完美,但他做错了 :) 正如我所说,我不希望外部访问我的文件夹:www.example.com/uploads 必须显示“拒绝访问”消息(就是这种情况在这里)但在其他方面我不想破坏我的链接。

标签: .htaccess symfony upload


【解决方案1】:

如果您希望禁用目录列表,只需在您的 htaccess 中放置“Options -Indexes”即可。

您已应用“全部拒绝”,这实际上阻止了任何人访问它所应用的目录中的文件。

还要确保在 vhost 定义中指定了“AllowOverride All”,否则您无法通过 htaccess 文件覆盖设置。反正这是我的理解。

如果您希望禁用对上传目录的访问,并控制特定用户可以访问哪些文件,我建议您使用用 PHP 等语言编写的脚本。用户从脚本请求文件,脚本查看是否允许他们查看文件。如果是,则显示它们的文件。如果不是,则不是。

参考文献

【讨论】:

  • 谢谢老兄!我已经在我的控制器中使用脚本来查看是否允许用户查看文件,但是,用户必须通过前端控制器进行验证,如果他直接访问则不是这种情况我的文件夹。
  • 很高兴我能帮上忙。您实际上可以通过控制器通过管道传输文件内容,而不是直接使用 Apache 提供它。这意味着您可以完全拒绝对上传目录的访问,并消除上传文件链接被共享给不应访问它的人的风险。
  • 我正在考虑通过控制器管道内容,我唯一的想法是使用 X-SendFile 和 readFile 方法..我是在正确的轨道上吗?!
  • 您应该能够简单地读取文件的内容,并将其输出到客户端,使用 'Attachment' 的 'Content-Disposition' 标头和正确的 'Content-Type' 标头对于文件类型。附件处置意味着文件始终被下载,而不是显示在浏览器中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-11
  • 1970-01-01
  • 2013-10-08
  • 1970-01-01
  • 2013-07-17
  • 2014-08-28
  • 1970-01-01
相关资源
最近更新 更多