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

15 浏览
0 Comments

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

我正在开发一个将最终连接到mySQL数据库的网站。我的问题是,我如何在我的PHP网站中安全地存储用于访问该数据库的凭据,以避免它们被意外泄露,例如服务器将PHP作为普通文本返回的风险?感谢任何帮助! 🙂

0
0 Comments

在PHP网站中安全存储数据库凭据的位置是一个常见的问题。常见的做法是将数据库凭据放在一个非PHP的配置文件中,例如.ini文件,然后用PHP读取该文件。为了增加额外的安全性,你还应该将配置文件放在网站根目录之外,这样你可以确保没有人可以通过直接访问文件来获取凭据。例如,Laravel框架(以及其他一些框架)将网站根目录定义为/public目录,而在该目录之外的.env文件中包含了数据库凭据和其他设置。

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

- 确保你已经安装了PHP!

- 确保你正确打开和关闭标签

- 确保你的文件扩展名是.php而不是.html(除非你使用了这个解决方法)

- 在生产环境中,确保页面上不显示错误信息(display_errors ini)

关于如何采取适当的开发预防措施,请参考上面提到的链接。

关于主机服务是否允许在共享计划中使用网站根目录之外的文件夹,我不确定。我通常使用VPS,但如果你使用像godaddy或ipage这样的服务,那么可能不允许。在这种情况下,你可以尝试使用.htaccess文件来阻止某些文件被查看。

关于使用HostGator作为主机,如果你只使用基本的主机计划,是否存在.htaccess方法失效和无法阻止访问的风险,我也不确定。除非文件被重命名或htaccess被编辑,否则你的文件将是安全的。

希望这些回答对你有帮助!欢迎来到Stack Overflow!

0