因此,我在数据库 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/