Maison >développement back-end >tutoriel php >Où la vérification du mot de passe doit-elle être placée dans un script de connexion ?

Où la vérification du mot de passe doit-elle être placée dans un script de connexion ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-25 02:11:13366parcourir

Where Should Password Verification Be Placed in a Login Script?

Où intégrer la vérification du mot de passe dans un script de connexion

Dans un script de connexion, le mot de passe est généralement saisi par l'utilisateur et stocké dans une variable en texte clair. Pour vérifier le mot de passe saisi par rapport au mot de passe crypté stocké dans la base de données, nous devons utiliser password_verify().

if(password_verify($enteredPassword, $hashedPassword)) {
    // Password verification successful
} else {
    // Password verification failed
}

Intégrer la vérification du mot de passe dans votre script de connexion

Dans votre cas spécifique, vous peut intégrer password_verify() dans le segment de code suivant :

if(($row = $query->fetch()) && (password_verify($ctPassword,$row['password']))){
    // Password verification successful
    $_SESSION['email'] = $row['email'];
    $_SESSION['first_name'] = $row['first_name'];

N'oubliez pas de lier le mot de passe saisi ($ctPassword) au paramètre dans l'instruction préparée pour garantir une exécution sécurisée.

Utilisation de PDO::FETCH_ASSOC pour la récupération des données utilisateur

Pour récupérer les données utilisateur plus efficacement à l'aide de PDO::FETCH_ASSOC, vous pouvez mettre à jour votre code comme suit :

$results = $query->fetch(PDO::FETCH_ASSOC);
if($results && password_verify($ctPassword, $results['password'])) {
    foreach($results as $key => $value) {
        $_SESSION[$key] = $value;
    }
}

Cela attribuerait automatiquement toutes les valeurs récupérées en tant que variables de session, ce qui faciliterait l'accès aux détails de l'utilisateur sur « Mon compte ». page.

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