【问题标题】:Stop access to files in a directory on the browser with htaccess使用 htaccess 停止访问浏览器目录中的文件
【发布时间】:2017-06-02 18:34:20
【问题描述】:

我有一个这样的目录:

appname
    |
    |public/
    |   |
    |   |foobar.php
    |
    |barfoo/

如果用户打开浏览器查看应用程序,他们可以看到文件夹结构和文件(如果他们到达https://host/appname)。我有目录索引来查看 foobar.php,所以当用户转到 https://host/appname/public 时。 Foobar get 渲染得很好。但我仍然可以使用https://host/appname 访问这些文件。

我应该让另一个 .htaccess 填写与 public 和 boofar 相同的目录吗,就像我在 public 中所做的那样?

非常感谢任何帮助,因为我正在努力学习。

【问题讨论】:

  • 配置你的网络服务器,让这个应用程序自己在一个虚拟主机上,然后将 document_root 设置为appname/public

标签: php apache .htaccess web


【解决方案1】:

将此放入一个.htaccess文件中(放入appname文件夹):

Options -Indexes

【讨论】:

  • 会和public和barfoo处于同一级别吗?您是否允许拥有多个 htaccess 文件?只是想达到最好的标准:)
  • @SmiffyKmc 只需放入相同的现有 .htaccess
  • 我在现有的 .htaccess 文件中添加了该文件,该文件位于公共内部,但仍显示 appname 的内容。 htaccess 文件是否应该不公开但在 appname 中?谢谢!
  • 将带有该行的 .htaccess 文件放在上面的级别(appname)中。顺便说一句,您还可以拥有多个 .htaccess 文件。
  • 这不会阻止 Apache 提供非公共文件,它只会阻止它们的目录列表。你仍然可以点击http://host/appname/barfoo/some_file
猜你喜欢
  • 2011-09-16
  • 1970-01-01
  • 2011-08-28
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-26
  • 2014-01-07
相关资源
最近更新 更多