PHP:如何隐藏数据库连接/电子邮件连接语句的密码?

时间:2010-09-20 08:53:43

标签: php database security passwords

我有一个用PHP开发的网站。有2个类(在2个单独的php文件中)包含siteadmin的gmail用户ID和密码(纯文本)和数据库密码(再次以纯文本形式)。虽然浏览器中没有显示这些类(如index.php)。这些文件只包含php类,没有html代码,对这些纯文本密码的引用只能通过这些类的对象。 不久,我开始怀疑这是否足够安全?我已尽力(充当恶意的人)尝试阅读两个所述php文件的内容,但未能这样做。我不太熟悉开发安全代码,所以不确定我的方法应该是什么,以确保这些密码永远不会暴露。 任何人都可以建议最佳实践来开发可以安全包含此类敏感信息的PHP代码。

3 个答案:

答案 0 :(得分:4)

  • 将可配置项目放在公共网站目录上方的单独配置文件中
  • 确保您已为文件设置了正确的文件权限
  • 检查您的Web应用程序是否包含本地(和远程)文件
  • 让您的服务器保持最新状态

将密码放在安全位置并不是完整的解决方案,您需要确保您的完整PHP应用程序安全,并且未经授权的任何人都无法获得服务器的root /管理员访问权。

答案 1 :(得分:0)

首先,如果可能的话,我会考虑使用OAuth for accessing GMail - 这意味着您根本不需要存储凭据,并在服务器遭到入侵时提供某种程度的保护。

我还会看看this question的答案。

最后,如果您的网站在公共互联网上,至少应该阅读互联网安全的基础知识,特别是保护网络应用程序。事情可能会出现各种各样的错误。我喜欢“黑客暴露”的书籍。

答案 2 :(得分:0)

  1. 不要将密码存储在文件中,因为有人最终会将该文件检入源代码管理中。或者有人会错误地设置权限。

  2. 使用自己的操作系统用户帐户运行应用程序

  3. 将密码放在应用程序用户的O / S环境变量中(不是系统环境变量)