Maison >base de données >tutoriel mysql >Comment vérifier correctement les mots de passe salés pour la connexion des membres ?

Comment vérifier correctement les mots de passe salés pour la connexion des membres ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-06 15:46:16590parcourir

How to Correctly Verify Salted Passwords for Member Login?

Comment vérifier un mot de passe salé pour la connexion des membres

Dans les sites membres sécurisés, les mots de passe sont stockés sous forme de hachages salés dans la base de données, ajoutant un couche de protection supplémentaire. Cependant, cela peut rendre la vérification de la connexion difficile pour les développeurs.

Pour vérifier un mot de passe salé pour la connexion d'un membre, plusieurs étapes sont impliquées :

  1. Récupération du sel :

    • Utilisez une requête SELECT pour récupérer le sel associé au membre nom d'utilisateur.
  2. Salage du mot de passe d'entrée de l'utilisateur :

    • Concaténez le sel avec le mot de passe d'entrée de l'utilisateur.
  3. Hachage du salé Mot de passe :

    • Hashez le mot de passe salé en utilisant le même algorithme de hachage que celui utilisé pour stocker les mots de passe dans la base de données.
  4. Vérification Contre le hachage stocké :

    • Exécutez une autre requête SELECT pour récupérer le hachage stocké pour l'utilisateur et comparez-le au hachage calculé à partir du mot de passe saisi.

Code ajusté pour la connexion des membres :

Dans le code, le problème principal concerne la vérification incorrecte de $result === false. L'approche correcte consiste à vérifier si $result est réellement un jeu de résultats vide, car un jeu de résultats vide sera toujours évalué à vrai en PHP.

// ... existing code

$result = mysqli_query($connect, $saltQuery);
if (mysqli_num_rows($result) === 0){
    die(mysqli_error());
}
$row = mysqli_fetch_assoc($result);
$salt = $row['salt'];

// ... remaining code

Ce code ajusté vérifiera correctement l'existence d'un membre. avec un nom d'utilisateur et un mot de passe correspondants tout en assurant une vérification appropriée du mot de passe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn