diff --git a/pages/users.php b/pages/users.php index 1dc9d36..4b8603f 100644 --- a/pages/users.php +++ b/pages/users.php @@ -22,14 +22,13 @@ )); if($validator->isValid($_POST)) { - $NEWPW = substr(str_shuffle(str_repeat($x='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil(10/strlen($x)) )),1,10); // Generate random password (10 characters) - $salt = bin2hex(random_bytes(16)); - $hash = md5(md5($NEWPW).':'.$salt); - - $statement = $RUNTIME['PDO']->prepare('UPDATE auth SET passwordHash = :PasswordHash, passwordSalt = :PasswordSalt WHERE UUID = :PrincipalID'); - $statement->execute(['PasswordHash' => $hash, 'PasswordSalt' => $salt, 'PrincipalID' => $_REQUEST['userid']]); + require_once 'app/utils.php'; + $token = generateToken(32); + $setToken = $RUNTIME['PDO']->prepare('REPLACE INTO PasswordResetTokens(PrincipalID,Token,RequestTime) VALUES(?,?,?)'); + $setToken->execute([$_POST['userid'], $token, time()]); + $resetLink = "https://".$RUNTIME['DOMAIN'].'/index.php?page=reset-password&token='.$token; - $HTML->ReplaceSeitenInhalt("%%MESSAGE%%", '