有没有办法在config.php配置文件中隐藏数据库访问密码?
这样做的最佳方式是什么?
我想隐藏给访问者和托管管理员:)
答案 0 :(得分:10)
您通常无法隐藏它们,因为在某些时候,应用程序必须在运行时使用它来读取它们。更好的选择是保证它们的安全,这样除了你(或授权人员)之外,任何人都无法读取它们。
例如,您的config.php不应位于可通过Web访问的公共或html目录中。如果我访问website.com/config.php,我不应该看到生成的文件(即使它通常是空白的)。这是因为有时在配置设置关闭时会暴露PHP代码,这可能会显示设置您尝试保密的密码的代码。
答案 1 :(得分:4)
数据库访问密码。我想要 隐藏给访问者和托管者 管理员
您无法从托管管理员隐藏文件中的任何内容。即使您使用加密,他们仍然可以在PHP源代码中找到密钥。如果您不信任您的管理员,请开箱即用。
答案 2 :(得分:3)
这取决于您将使用密码的方式,可能的方法是存储密码的哈希值而不是密码本身。当您想要检查用于登录的密码是否正确时,您只需哈希用于登录的密码并将其与存储的哈希值进行比较。
然而,正如edwin所说,如果要为数据库等外部服务存储密码,则无法实现。 (在这种情况下,我会引导你走向Foxtrot's answer)。
答案 3 :(得分:2)
您可以隐藏网站访问者的密码(请参阅其他答案),但可能不是来自服务器管理员。他们也可能具有对任何数据库的root访问权限,因此他们甚至不需要密码。
在远程服务器上真正隐藏敏感数据的唯一方法是租用您具有root访问权限的专用计算机,将所有数据存储在该计算机上并使用加密文件系统。