为什么数据库密码以纯文本格式存储在WordPress的wp-config.php中,安全性问题?

时间:2019-09-02 19:39:53

标签: php wordpress

我想知道为什么数据库密码和登录数据以纯文本格式存储在wp-config.php文件中。这不是安全问题吗?解决这个问题的好习惯吗?

我不是安全方面的专家,但我了解到,安全的第一步是将密码存储为非纯文本格式。其次,使用另一个文件存储密码。据我所知,最新的安全性使用哈希算法,包括对密码加盐。

或者是否安装了我不知道的其他安全措施?

2 个答案:

答案 0 :(得分:5)

如果您的用户可以阅读您的wp-config.php,那么从安全角度来说您已经迷路了。

比方说,数据库凭据不是以纯文本存储的,而是以加密字符串存储的,该字符串将由Wordpress本身解密。如果潜在的攻击者可以读取wp-config.php,则他们可能可以读取解密密钥,并且没有理由怀疑该密钥将被更安全地存储。

当人们谈论最新的安全机制如何使用哈希和加盐时,仅与 you 是有效的服务器有关。散列是获取密码并将其转换为无法还原回密码的一种方式。如果您是客户端而不是服务器,则无法解决以下事实:您需要有一种获取纯文本密码的方法。

答案 1 :(得分:0)

当我们说总是正确地对用户密码进行哈希处理时,这意味着您将它们存储到数据库中。连接数据库时,需要提供密码(而不是哈希),因此密码存储在此文件中。

因为这是一个PHP文件,如果用户尝试通过我们的服务器打开此文件,则该文件将无效,因为它们只是PHP常量。它们不会打印到屏幕上。

您可以通过使数据库服务器仅接受来自服务器(通常是localhost)的连接来确定安全性。某些服务器设置会在环境变量中设置数据库凭据。这不会使事情变得更加安全,但是可以使您的wp-config文件保持干净