问题是我更改了mysql-db-user的密码并且可以使用旧密码 - 但这是我想要禁止的。
示例:
旧密码:"测试" (在DB中加密 - 如何将其与新PW进行比较?)
新密码:"测试" - >应该给出错误,因为它与旧的PW
如何将旧密码与新密码进行比较?或者MySQL-Workbench的设置中有一个选项吗?非常感谢提前!
编辑: 我正在考虑更改mysql.user
中列出的数据库用户的密码答案 0 :(得分:1)
我不确定你的工作流程,但在php中,你应该可以做类似
的事情$email = $_POST['email'] /*email posted from "password change" page*/
$query = mysqli_query($db,"SELECT `password` FROM `users` WHERE `email` = '$email'");
$result = mysqli_num_rows($query);
$new_password = $_POST['new_password'] /*this is your new password*/
if( $new_password == $result['password']){
/*password is the same as previous*/
} else {
/*password is new*/
}
代码未经过测试,但如果不起作用则应该关闭
答案 1 :(得分:0)
如果FLUSH PRIVILEGES
不能创建新数据库,然后以这种方式进行比较?
答案 2 :(得分:0)
好的,我明白了 - 这是一个简单的解决方案:
首先,我要求输入用户名的旧密码,并将输入与用户想要设置的新密码进行比较。如果两者都相同我的应用程序会抛出错误。例如:
旧PW:“测试” 新PW:“测试” - >错误:旧PW ==新PW
也许在MySQL Workbench中有一个选项 - 但我没有找到类似的东西。