【问题标题】:How to safeguard my mysql_connect password (My database server's password)?如何保护我的 mysql_connect 密码(我的数据库服务器的密码)?
【发布时间】:2011-10-10 12:17:08
【问题描述】:

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

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

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

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

如何保护我的数据库“服务器”密码?

【问题讨论】:

  • 有很多网站都有同样的问题,所以你可以看看他们是怎么做的。我认为他们中的大多数人都阻止人们通过 .htaccess 下载此文件

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


【解决方案1】:

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

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

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

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

如果您的网络托管服务商将您的文件提供给其他客户/客户使用,而不是将它们分区到只有您可以使用的地方,您应该立即找到新的托管服务商。

【讨论】:

  • 是的,它主要归结为粗体段落:为什么要保护它?找个靠谱的主机就好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 2012-01-23
  • 2019-06-06
相关资源
最近更新 更多