2015-09-11 35 views
3

我正在开发一个网站,最终将连接到一个mySQL数据库。我的问题是,如何安全且安全地存储这些凭证以访问我的PHP站点中的数据库,而不会因为意外地被服务器返回为普通文本的PHP服务器而受到威胁?任何帮助表示赞赏,谢谢! :)在哪里安全地存储数据库证书在PHP网站

+0

你的意思是用于与mysql服务器通信的脚本的凭据,或者你的意思是用户密码,比如在数据库中散列吗? – Drew

+0

与数据库进行通信的凭据,对不起 – scarecrow850

回答

2

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

例如,Laravel框架(除其他外)定义/ public目录中的web根目录,而该目录之外是包含其他设置之间的数据库凭证的.env文件。

看看这里的更多信息:How to secure database passwords in PHP?

更重要的是,你应该永远不必担心你的PHP被服务为纯文本。采取适当的发展预防措施,确保永不发生。一些起点是:

  • 确保您安装了PHP!
  • 确保您打开并正常关闭标签
  • 确保您的文件扩展名是.php而不是.html(除非你用this work around
  • 另外,还要确保在您没有在网页上显示的错误代码生产(display_errors ini)
+0

如您所说,您如何采取适当的开发预防措施。帮助OP了解这一点。只是将其作为您的答案的一部分 – Drew

+0

托管服务通常允许共享计划的Web根目录之外的文件夹?对不起,如果这不在问题的范围内,但我没有很多托管计划的经验。顺便谢谢你的答案! – scarecrow850

+0

@ scarecrow850我不确定。我总是使用VPS,但如果您使用的服务如godaddy或ipage那么它不太可能。在这种情况下,看看使用.htaccess来阻止某些文件被查看 – samrap