【发布时间】:2017-11-02 14:08:38
【问题描述】:
我对某事感到困惑,需要一些解释。
在我的实践中,我通常看到 90% 的 PHP 开发人员将所有敏感信息(如数据库连接、FTP、SMTP 设置等)存储在一些变量、数组、对象或常量中。
我想知道现在最好使用 root 之外的一些 ini 文件并存储在那里?还是最好将 .ini 文件隐藏在某个地方并通过 .htaccess 拒绝访问?
一般来说,我想以最安全的方式保存敏感数据。
【问题讨论】:
我对某事感到困惑,需要一些解释。
在我的实践中,我通常看到 90% 的 PHP 开发人员将所有敏感信息(如数据库连接、FTP、SMTP 设置等)存储在一些变量、数组、对象或常量中。
我想知道现在最好使用 root 之外的一些 ini 文件并存储在那里?还是最好将 .ini 文件隐藏在某个地方并通过 .htaccess 拒绝访问?
一般来说,我想以最安全的方式保存敏感数据。
【问题讨论】:
没有绝对安全的选择,但有些比其他更好。
不要在项目的源代码中保存敏感信息——你不希望你的密码和 API 密钥在 github 上。
在数据库中保存敏感信息很好,但是您仍然需要在某个地方存储数据库凭据,并且您又回到了开始的位置。
您可以将敏感信息保存在环境变量中。这些通常会在您的 Web 服务器的配置文件中设置。
将敏感信息保存在 ini 文件中很好,只要满足以下条件:
这些也不言而喻:
【讨论】:
对我来说,我建议将它存储在 dot 文件 中,例如 .env(就像 Laravel 所做的那样),或 环境变量,或 INI 文件(如您上面所说)只要它对世界隐藏或有人入侵您的服务器,他们就无法轻易看到它或无法访问它。 p>
【讨论】: