Php 如果用户忘记了密码,如何使用填充电子邮件然后使用密码\u散列密码将密码发送到用户电子邮件?
如果用户忘记了密码,如何使用fill email然后password\u hash password将密码发送给用户email 当用户注册时,我使用此方法散列密码Php 如果用户忘记了密码,如何使用填充电子邮件然后使用密码\u散列密码将密码发送到用户电子邮件?,php,mysql,Php,Mysql,如果用户忘记了密码,如何使用fill email然后password\u hash password将密码发送给用户email 当用户注册时,我使用此方法散列密码 $password1 = $_POST['password']; $password1 = password_hash($password1, PASSWORD_DEFAULT); 那么,当用户忘记密码时,如何向用户电子邮件发送真实密码 我的代码 require_once 'connect.php'; $email = $_POST
$password1 = $_POST['password'];
$password1 = password_hash($password1, PASSWORD_DEFAULT);
那么,当用户忘记密码时,如何向用户电子邮件发送真实密码
我的代码
require_once 'connect.php';
$email = $_POST['email'];
$sql = "SELECT * FROM user WHERE UserEmail ='".$email."'";
$result = mysqli_query($conn,$sql);
if(mysqli_num_rows($result)>0){
$row = mysqli_fetch_assoc($result);
mail($email, "Your account password is ".$row['']."test", "test@example.com" );
$result['success'] = "1";
$result['message'] = "success";
echo json_encode($result ,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
}
mysqli_close($conn);
你不能逆转它,这就是散列密码的全部意义。您应该要求用户重置密码,所以,只需重置密码?@catcon是正确的。您需要创建
忘记/重置
密码流,以便用户可以创建新密码。这样做是安全的。”斯坦利:是的,你不应该考虑通过电子邮件发送密码的任何解决方案,这被认为是一个不好的做法,看看@斯坦利,如果有人可以反转哈希并看到纯文本密码,那么在第一个地方散列密码会有什么意义呢?密码散列旨在防止数据库被破坏。想想如果有人访问了谷歌的数据库并复制了每个人的密码。