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 ?
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 }
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.
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!