在 PHP 网站中安全地存储数据库凭据的位置

sca*_*850 6 php mysql security

我正在开发一个最终将连接到 mySQL 数据库的网站。我的问题是如何安全可靠地存储这些凭据以在我的 PHP 站点中访问该数据库,而不会有意外受到损害的风险,例如,服务器以普通文本形式返回 PHP?任何帮助表示赞赏,谢谢!:)

sam*_*rap 6

此问题的常见做法包括将数据库凭据放在非 PHP 的配置文件中,例如 .ini 文件,然后使用 PHP 读取该文件。为了增加额外的安全性,您还应该将配置文件放在 Web 根目录之外,这样您就可以确保没有人可以通过直接导航到该文件来访问该文件。

例如,Laravel 框架(以及其他框架)在 /public 目录中定义了 web 根目录,而在该目录之外是一个.env包含数据库凭据和其他设置的文件。

在这里查看更多信息:如何在 PHP 中保护数据库密码?

更重要的是,您永远不必担心您的 PHP 会以纯文本形式提供。采取适当的开发预防措施以确保这种情况永远不会发生。一些起点是:

  • 确保您已安装 PHP!
  • 确保正确打开和关闭标签
  • 确保您的文件扩展名是.php和不是.html(除非您使用此解决方法
  • 还要确保在生产代码中没有在页面上显示错误(display_errors ini)