当php应用程序建立数据库连接时,它当然通常需要传递登录名和密码。如果我对我的应用程序使用一个最小权限登录,那么php需要知道该登录名和密码。保护该密码的最佳方法是什么?似乎仅仅在php代码中编写它不是一个好主意。
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"));
cnh2zyt317#
如果您托管在其他服务器上,并且在webroot之外没有访问权限,则始终可以将密码和/或数据库连接放入文件中,然后使用.htaccess锁定该文件:
<files mypasswdfile> order allow,deny deny from all </files>
17条答案
按热度按时间ghhaqwfi16#
最安全的方法是根本不在php代码中指定信息。
如果您使用的是apache,这意味着要在httpd.conf或虚拟主机文件中设置连接详细信息。如果这样做,就可以调用mysql_connect(),而无需任何参数,这意味着php永远不会输出您的信息。
以下是在这些文件中指定这些值的方式:
然后按如下方式打开mysql连接:
或者像这样:
cnh2zyt317#
如果您托管在其他服务器上,并且在webroot之外没有访问权限,则始终可以将密码和/或数据库连接放入文件中,然后使用.htaccess锁定该文件: