用散列密码连接MySQL?

时间:2009-07-04 19:43:00

标签: php mysql hash connection

如果有任何方法可以使用散列密码使用PHP连接到MySQL数据库,那么我很想知道(并使用Google没有明确的结果)。说我有以下内容:

Password (plain): 'foobar'
Password (sha1): '8843d7f92416211de9ebb963ff4ce28125932878'

现在我想像这样连接MySQL(以mysql_ *函数为例,我使用的是PDO):

$db_link = mysql_connect ( 'localhost', 'user', '8843d7f92416211de9ebb963ff4ce28125932878' );

我有可能吗?有人这么做过吗?

4 个答案:

答案 0 :(得分:10)

然后“哈希”将成为密码。有什么好处?

答案 1 :(得分:2)

简短的回答是否定的。

但是,只是想知道......你真正关心的是什么?有人入侵你的服务器并发现你的密码?

答案 2 :(得分:1)

用例将让多个开发人员编辑.php文件,该文件包含您可能不希望他们知道的sql连接密码。

我认为一个解决方案是将connect语句移出到这样的文件中,确保你没有$ password变量,但是有人可以调用它并稍后在他们的.php文件中打印出来/ p>

mysql.php
<?php
    mysql_connect('db.cs.dal.ca','user','password');
    @mysql_select_db($database) or die( "Database Error ".mysql_error());
?>

只给你自己的权限------- mysql.php文件的权限,然后在你所有的组可访问.php文件中,你可以只包含该文件来唤起连接。

index.php
<?php include("mysql.php") ?>

<!-- some web content -->

<?php mysql_close(); ?>

并给你的开发人员组rw-rw ----对所有其他.php文件的权限,只要mysql.php文件的所有者可以读取它应该在php服务器上执行.....我认为

例如,您也可以从git中排除mysql.php,让开发人员使用自己的mysql.php文件运行自己的DB本地副本,只提供生产数据库的精简副本,以便进行本地开发和测试< / p>

答案 3 :(得分:0)

简单的答案是“你不能。”

我知道您要完成的任务:您可能正在使用某些共享主机方案,并且无法将您的配置文件放在html文件夹之上。

Stefan认为黑客只是在寻找配置文件,并希望让他不得不为这些信息工作。一旦黑客意识到他需要更多信息,他就必须第二次破解网站。

这与用户名表无关。密码。这是针对MySQL配置文件的。