如何在php中保护数据库密码?

niknxzdl  于 2021-10-10  发布在  Java
关注(0)|答案(17)|浏览(638)

当php应用程序建立数据库连接时,它当然通常需要传递登录名和密码。如果我对我的应用程序使用一个最小权限登录,那么php需要知道该登录名和密码。保护该密码的最佳方法是什么?似乎仅仅在php代码中编写它不是一个好主意。

ghhaqwfi

ghhaqwfi16#

最安全的方法是根本不在php代码中指定信息。
如果您使用的是apache,这意味着要在httpd.conf或虚拟主机文件中设置连接详细信息。如果这样做,就可以调用mysql_connect(),而无需任何参数,这意味着php永远不会输出您的信息。
以下是在这些文件中指定这些值的方式:

php_value mysql.default.user      myusername
php_value mysql.default.password  mypassword
php_value mysql.default.host      server

然后按如下方式打开mysql连接:

<?php
$db = mysqli_connect();

或者像这样:

<?php
$db = mysqli_connect(ini_get("mysql.default.user"),
                     ini_get("mysql.default.password"),
                     ini_get("mysql.default.host"));
cnh2zyt3

cnh2zyt317#

如果您托管在其他服务器上,并且在webroot之外没有访问权限,则始终可以将密码和/或数据库连接放入文件中,然后使用.htaccess锁定该文件:

<files mypasswdfile>
order allow,deny
deny from all
</files>

相关问题