关于php:如何安全地存储我的网站配置文件?

How do I store my website's config file securely?

我的网站有一个config.php文件,它存储在可公开访问的Web目录之外,其中包含我用于向该网站发送邮件的gmail帐户的密码信息和数据库连接凭据。我不喜欢将密码保存为纯文本变量的想法,我正在寻找某种方法来更安全地保存这些数据。除了阻止我以外的用户对目录的读取访问之外,我还能做些什么来保护这些信息?


大多数情况下,您将以纯文本形式保存。比如说你想加密,那么解密的密钥就必须以明文等形式保存,所以最好确保你的服务器是安全的。


取决于你想保护什么。

  • 将文件保存在htdocs(webroot目录)之外通常是一个好主意,这样就不能从外部显式调用该文件。(即将浏览器指向它)。

  • 如果您想保护$var不受代码(即第三方恶意代码)的影响,您可以在变量被使用后总是取消设置,尽管我不知道这是否会有很大的不同。

  • 如果你想保护文件不受可能"黑客"入侵你服务器的人的攻击,那么你做不了什么。您总是可以设置文件权限,以便只有WWW数据(您的Apache用户)可以读取它,但是如果有人获得了对您机器的根访问权,那么您就完蛋了。

  • 不管怎样,如果你的服务器是安全的(没有远程根访问,或者只有通过带有公钥/私钥的SHH访问,你不能从公共PC访问你的服务器,等等),你不使用第三方代码没有首先检查它,并且你把pass文件存储在webroot目录之外,我认为你是最安全的。