【问题标题】:CodeIgniter: Is it safe to delete index.html from all folders?CodeIgniter:从所有文件夹中删除 index.html 是否安全?
【发布时间】:2011-06-16 14:30:19
【问题描述】:

我是 CodeIgniter 的新手。我注意到所有 CodeIgniter 文件夹(缓存、配置、控制器、核心、错误等)都包含一个 index.html 文件,基本上说“禁止访问目录”。如果我错了,请纠正我,但我认为根据 CodeIgniter 的默认配置,无法从 Web 访问这些文件夹中的任何一个。

这些 index.html 文件的用途是什么?我可以直接删除它们,还是不理它们?

非常感谢。

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    它们的目的是防止在您的服务器上启用目录列表时显示目录的内容。 Apache 服务器默认启用目录列表。

    在某些情况下,在适当的情况下,您可能可以尝试直接浏览到文件夹。这些主要是由未正确配置的服务器或漏洞利用引起的。因此,最好只保留 index.html 文件(它们不会造成任何伤害,而且不会占用太多空间)。

    我什至会建议您也将 index.html 文件添加到您创建的所有文件夹中。

    【讨论】:

      【解决方案2】:

      它们用于故障保险,即。如果由于某种原因目录结构可以公开浏览。

      我找不到任何删除它们的理由。

      【讨论】:

        【解决方案3】:

        如果您的 codeigniter 安装(系统和应用文件夹)在您的公共服务器目录之外,那么它们将不会提供任何帮助,因为它们永远无法提供服务。在这种情况下,它们是否存在并不重要,因为无论如何您都无法访问它们的目录。

        【讨论】:

          【解决方案4】:

          我说删除它们有两个原因:

          1) 如果 Apache 被配置为允许目录浏览,那么你的 index.html 中的内容并不重要。因此,声称“如果禁止访问目录”实际上并非如此,就等于通过默默无闻来实现安全,这是一种不受欢迎的安全策略。

          2) 我不同意“如果它没有伤害任何东西,那就别管它”的想法。我花了很多小时试图弄清楚一段特定代码的用途,后来才发现它根本没有做任何事情。删除未使用的代码。你项目的继承者会少骂你。

          【讨论】:

          • 其实我只是发现了它们的用途。它们充当其他空目录的占位符,并且新 CI 安装中的许多目录默认为空。如果您像我一样使用 GIT,那么占位符文件可以方便地维护目录结构。我刚刚从我的仓库中删除了一堆 index.html 文件,并且丢失了一堆需要的目录。 Git 重置困难时间:-)
          • 这应该是正确的答案......以及 GIT 不提交空目录的行为,与此无关。
          【解决方案5】:

          它们是为了您的安全,如果有人试图通过您的域 URL 访问您服务器上的文件夹(如果您的服务器配置错误),它将阻止您加载这些文件通过触发该 HTML 文件

          您确实保留该文件是安全的。

          【讨论】:

            猜你喜欢
            • 2015-08-06
            • 2019-11-12
            • 1970-01-01
            • 2019-10-09
            • 2014-08-09
            • 2016-06-16
            • 2018-04-15
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多