en faisant un tutorial sur la façon de créer un formulaire de connexion php mysql. maintenant le tutoriel est actuellement fait pour bien et je voudrais changer un peu et changer le mot de passe de connexion pour stocker cleartext au lieu du hachage. la ligne de hachage ressemble à ceci:changer le mot de passe utilisateur de la fonction de stockage de hachage à cleartext
$new_password = password_hash($upass, PASSWORD_DEFAULT);
i fait:
$new_password = $upass;
hors de lui. et il enregistre maintenant le texte en clair dans la base de données, mais la connexion ne fonctionne pas.
la partie de connexion ressemble à ceci et je ne vois pas la partie où j'attends le mot de passe haché à convertir et adapté ...
public function doLogin($uname,$upass)
{
try
{
$stmt = $this->conn->prepare("SELECT user_id, user_name, user_pass FROM users WHERE user_name=:uname");
$stmt->execute(array(':uname'=>$uname));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() == 1)
{
if(password_verify($upass, $userRow['user_pass']))
{
$_SESSION['user_session'] = $userRow['user_id'];
return true;
}
else
{
return false;
}
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
Le stockage des mots de passe au format texte est __absolument non sécurisé__. Donc, si vous voulez utiliser les meilleures pratiques - oubliez le texte brut. –
"Je voudrais changer un peu et changer le mot de passe de connexion pour stocker le texte en clair". Ce n'est pas quelque chose que vous voudriez faire dans un vrai projet, donc je recommande de ne pas l'utiliser pour un exercice. –
... pourquoi conservez-vous des mots de passe en texte clair? – nerdlyist