【问题标题】:Best Practices for creating a PHP INI/CONFIG file and keep it secure创建 PHP INI/CONFIG 文件并确保其安全的最佳实践
【发布时间】:2010-12-11 15:50:16
【问题描述】:

我一直使用普通的 PHP 文件,并且只是在该文件中定义了变量,但这被认为是最佳实践吗?

例子:

<?php

define('DB_PASS', 'p@ssw0rd');

?>

【问题讨论】:

    标签: php config ini


    【解决方案1】:

    将您的 PHP 文件命名为以 .ht 开头的名称(例如 .htconfig.inc.php)也有帮助,因为 Apache 通常有一条规则,从不提供任何名为 .ht* 的文件。但是将文件放在文档根目录之外会更好。

    【讨论】:

    • 对 Apache 使用的 .ht 属性的使用很有趣,thnx
    【解决方案2】:

    这是相当安全的,我认为常量没有任何最佳实践,但我倾向于将它们收集在专用的Constants 类中以提高可读性:

    class Constants {
        const DB_PASS = 'mypass';
    }
    

    【讨论】:

    • 嗯我喜欢这种方法,只是为了我的理解 const 和 define() 的工作方式相同?
    • 几乎一样,重要的区别是全局常量的值可能是评估值(define('CONSTNAME', $dynamicValue)),而类常量需要硬编码的基本类型(即const CONSTVALUE = $global 不起作用)。更多关于类常量的信息可以在 php 文档中找到:php.net/manual/en/language.oop5.constants.php
    【解决方案3】:

    除非有人可以访问您的安全 PHP 源代码。

    但是我会确保该文件位于文档根目录之外以防止出现问题,如果由于某种原因 php 在网站上被关闭并且突然之间人们可以看到您的文件的来源:)。

    【讨论】:

    • 这也是一个很好的建议,目前不要这样做,我从没想过 PHP 是否没有运行。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多