如何在PHP中保护数据库密码?
当PHP应用程序建立数据库连接时,它通常需要传递登录名和密码。如果我为我的应用程序使用单个最低权限登录名,那么PHP需要在某个地方知道该登录名和密码。保护该密码的最佳方法是什么?似乎只是在PHP代码中编写它不是一个好主意。
当PHP应用程序建立数据库连接时,它通常需要传递登录名和密码。如果我为我的应用程序使用单个最低权限登录名,那么PHP需要在某个地方知道该登录名和密码。保护该密码的最佳方法是什么?似乎只是在PHP代码中编写它不是一个好主意。
有几个人误认为这是一个关于如何在数据库中存储密码的问题。这是错误的。它是关于如何存储允许您访问数据库的密码。
通常的解决方案是将密码从源代码中移出到配置文件中。然后,将管理和保护该配置文件的任务留给系统管理员。这样,开发人员就不需要知道有关生产密码的任何信息,并且源代码管理中没有密码的记录。
如果您在其他人的服务器上托管,并且在 Webroot 外部没有访问权限,则始终可以将密码和/或数据库连接放在文件中,然后使用 .htaccess 锁定文件:
<files mypasswdfile>
order allow,deny
deny from all
</files>