【问题标题】:PHP: Is it secure to use index.php as the bootstrap?PHP:使用 index.php 作为引导程序是否安全?
【发布时间】:2010-08-25 23:10:08
【问题描述】:

我之所以这么问,是因为在正确的应用程序 index.php 文件中似乎唯一调用过的就是 require_once 引导文件。我假设这增加了一层安全性,但如果没有,这种模式似乎毫无意义。为什么不直接使用 index.php 文件作为引导程序?任何意见、注意事项、想法等都表示赞赏!

(顺便说一句,我的 htaccess 文件正在将所有请求路由到 index.php 文件...)

【问题讨论】:

    标签: php security bootstrapping


    【解决方案1】:

    无论您的引导过程是在索引文件中还是单独的文件中,都没有内在的安全差异。

    拥有一个单独的文件通常是出于组织方面的考虑(例如,拥有一个可以从其他地方包含的文件以导入您的应用程序的功能,或者将所有任务放在正确命名的文件中,或者使其特别容易添加引导过程的自定义扩展)。

    但是,包含敏感信息的配置 文件——有时,更罕见的是,甚至除了索引文件之外的所有 PHP 文件——将尽可能放置在 Web 根目录之外。 会在安全性上有所不同,因为在服务器意外配置错误的情况下,无法从外部访问 PHP 文件。

    【讨论】:

    • 感谢佩卡的回复。如果索引需要外部引导并且服务器意外配置错误,那么该安全问题是否仍然存在?
    • @shanebo 不,如果在解析 PHP 文件的方式上存在错误配置,则引导程序将不会被首先获取(并且无法从 Web 根目录访问)。跨度>
    【解决方案2】:

    在安全环境中,只有 index.php 位于文档根目录中,所有其他 PHP 文件都应位于文档根目录之外,因此当 index.php 文件仅包含文档根目录之外的 Bootstrap 文件时是有意义的。

    【讨论】:

      【解决方案3】:

      我不知道这会暴露任何漏洞。如果 apache 配置错误,将空白 index.html 或 index.php 放入文件夹可以防止攻击者获取目录列表。

      【讨论】:

        猜你喜欢
        • 2012-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-30
        • 1970-01-01
        • 2023-03-26
        • 1970-01-01
        相关资源
        最近更新 更多