1

我已经听过很多次了:“在您的网络服务器中的每个文件夹上创建一个 index.php,以确保用户不会看到文件夹中的文件列表”

真的吗?我需要一些好的安全实践。

4

6 回答 6

3

你可以这样做,但你可以.htaccess像这样简单地阻止它。

防止使用 .htaccess 列出目录 Options -Indexes

于 2012-10-16T21:26:52.877 回答
1

我认为这是一个很好的做法。它可以防止用户深入了解您的整个目录结构 - 因此,如果他们正在寻找漏洞,他们的工作会更加困难。

于 2012-10-16T21:25:51.100 回答
1

简短的回答:没有。

长答案:是的。

拥有默认文档可能确实会阻止输出目录列表,但是:

  • 您可以通过其他方式阻止目录列表(.htaccess,服务器配置)
  • 如果他们猜测文件名,仍然可以找到文件。
  • 您可以将所有文件放在文档根目录之外,并且只有一个脚本可以路由所有 url。因此,没有什么可以列出的。

因此,尽管您是对的,但很容易忘记目录,并且创建所有这些文件需要做很多工作。并且它只保护您不被列出,并且仅当 index.html 确实是默认文档名称时(再次:服务器配置)。它不会阻止对您的脚本的任何直接访问,因此请使用更适当的安全性。

于 2012-10-16T21:27:15.413 回答
1

Apache HTTPd .htaccess中使用:

Options -Indexes

并在Microsoft IIS web.config中使用:

<configuration>
    <system.webServer>
        <directoryBrowse enabled="false" /><!-- THIS -->
    </system.webServer>
</configuration>

问候。每个网络服务器都有自己的方式,但要避免文件夹中的 index.html。为此使用网络服务器功能更安全、更高效。

于 2012-10-16T21:47:59.717 回答
0

从您的服务器配置文件中禁用目录列表不是更好的解决方案吗?你的想法对我来说听起来像是一个黑客..

于 2012-10-16T21:27:24.377 回答
0

您可以通过将以下行添加到 public_html 文件夹中的 .htaccess 文件来禁用目录列表,而不是将索引文件放在每个文件夹中:

Options -Indexes 
于 2012-10-16T21:29:18.107 回答