如何保护我的mysql_connect密码(我的数据库服务器的密码)?

时间:2011-07-21 19:02:36

标签: php database passwords mysql-connect database-server

*这个问题适用于非本地主机。 *我正在使用网络托管服务。不是我的个人服务器。

要使用mysql_connect连接到数据库的服务器,需要创建一个php文件并将其保存在Web主机的服务器中。该文件必须(代码内)服务器的地址为用户名和PASSWORD:

**$conn = mysql_connect("server", "username", PASSWORD);**

任何查看该页面代码并下载此php文件的人都可以看到密码,这是一个安全风险。

我如何保存我的数据库'服务器'密码?

1 个答案:

答案 0 :(得分:3)

你真的没有任何保护数据库密码的好选择。您应该确保用户/密码组合只能访问运行Web应用程序所需的数据库部分。换句话说,不要将其设为root密码。如果Web应用程序没有使用其他数据库,则它们应具有不同的登录凭据。

除非Web服务器配置错误,否则任何人都无法下载PHP文件来查看代码。如果可能的话,您还应该将包含登录凭据的文件放在Web服务器的文档根目录和include()之外,以减少错误配置的Web服务器意外暴露的可能性。

这是一个信任托管公司系统管理员的问题。

如果您四处搜索,您可能会发现尝试将加密凭据存储在另一台服务器上并通过加密连接在运行时检索它们的示例,但仍需要在Web服务器上保存解密信息的密钥,因此系统管理员可以访问。

如果您的网络托管服务商将您的文件提供给其他客户/客户,而不是将其分配到仅供您使用的位置,则应立即找到新主机。