【问题标题】:How to store db connect information is secure?如何存储数据库连接信息是安全的?
【发布时间】:2011-03-27 08:28:13
【问题描述】:

我开发了一个 php 应用,我有一个 config.php ,里面存放了应用之间的经常使用,在这个文件中,包含了所有重要的信息,比如 Mysql 服务器地址、端口号、用户名和密码。我担心有人会得到文件,然后做一些我不想要的事情,我该如何保护这个文件?谢谢。

【问题讨论】:

    标签: php mysql security


    【解决方案1】:
    • 练习一般良好的密码安全性(不要使用字典单词等)
    • 最好使用 .php 扩展名命名文件,就像您所做的那样,因为这样 Web 服务器不太可能被欺骗以纯文本形式提供文件。
    • 确保 config.php 存储在 Web 根目录之外。这意味着,如果您的服务器配置出现问题并且它开始以纯文本形式提供 PHP 文件,您就不会泄露您的数据库密码(因为没有人能够请求 config.php)。
    • 确保数据库凭据是适当命名的常量,而不是变量。这使您不太可能以某种方式不恰当地使用它们(例如,如果密码是 $password 而不是 DB_PASSWORD 您可能会在全局范围内对 $password 变量执行某些操作,而忘记它正在使用中 - 不太可能,但可能性很小)。

    【讨论】:

    • 最后一点没看懂,你的意思是我用$password = DB_PASSWORD;而不是直接使用 DB_PASSWORD?
    • 我的意思是,最好将密码存储在具有好名称的常量中,例如DB_PASSWORD,而不是将其存储在全局变量中。也许您已经为此目的使用了常量,我不知道。其他人可能会建议将数据库凭据作为数据库类的类变量。
    【解决方案2】:

    通常它只是存储在一个 php 文件中,如果属于 www-data 用户或您的网络服务器正在使用什么,您可以创建它。如果有人确实可以访问您的服务器,他们将无法打开它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 2011-03-14
      • 1970-01-01
      • 2016-07-13
      • 2011-07-25
      相关资源
      最近更新 更多