php - 使用md5密码查询MySql数据库

标签 php mysql connection

因此,我在数据库 mysql.user 中存储了使用密码加密方法存储的用户(这是我所知道的默认设置),而我的 database.users 则具有登录凭据用户和密码(密码使用 md5 加密)。 问题是我想使用 md5 加密插入的密码(来自表单),并且用户能够查询数据库。

这些是从表单的 $_POST 方法中提取的登录凭据, 将它们设置为 session 以便于连接时使用:

$_SESSION['utilizator']=$utilizator; //user
$_SESSION['parola']=md5($parola); //password

这是我需要查询数据库的每个文件中包含的数据库连接:

$link = mysqli_connect('localhost', $_SESSION['utilizator'], $_SESSION['parola']);
if(!$link){
    die('Unable to connect to the database: ' . mysqli_error($link));
}

最佳答案

尽量不要使用 md5,因为它不再安全。 为什么要使用用户凭据连接到数据库?您应该有一个特定的密码和用户,并在需要数据库连接的任何地方使用它,并且仅当用户通过您的登录名时才允许更改数据库(您所做的事情不安全),换句话说,这些用户凭据仅供数据库和数据库使用,并且只有您自己知道。 执行此操作后,您可以将与用户相关的内容保存在表中:按照您想要的方式加密通行证和用户名,进行登录检查加密通行证和数据库通行证(如果可以),然后进行查询。

编辑:

由于您想要将通行证存储在 cookie 或 session 中,因此此方法将有所帮助,因为您可以简单地存储加密密码并检查它是否与数据库中的密码相同。

关于php - 使用md5密码查询MySql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18287268/

相关文章:

java - 断开与 weblogic JMS 的连接

php - Yii:根据下拉列表选择更改输入文本字段值

php - 来自 phpmailer 的单个邮件包含多个附件

MySQL根据邮政编码更新

java - 尝试使用 Hibernate 创建 MySQL 连接时出现异常

php - 警告 : mysql_num_rows() expects parameter 1 to be resource, 中给出的空值(不是 bool 值)

linux - 当我想将 key 传播到其他环境时,SSH known_hosts 文件添加了不同的 ssh-rsa 代码 - 导致无法连接 w/o 密码?

java - 为什么 OracleConnection 没有返回到池中?

php - Laravel 5.2 查询不起作用

php - Symfony2 session 未按预期工作/ session 不断超时