Maison >développement back-end >tutoriel php >Où dois-je placer « password_verify » dans mon script de connexion PHP ?

Où dois-je placer « password_verify » dans mon script de connexion PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-25 19:55:13699parcourir

Where Should I Place `password_verify` in My PHP Login Script?

Où implémenter password_verify dans le script de connexion ?

Pour améliorer la sécurité de votre système de connexion, il est crucial d'utiliser la fonction password_verify dans le script de connexion. Cette fonction compare un mot de passe en texte clair soumis ($_POST['password']) au mot de passe crypté stocké dans la base de données ($row['password']). Voici comment l'intégrer :

<?php
...
// ... Existing code ...
if ($row = $query->fetch()) {
    if (password_verify($_POST['password'], $row['password'])) {
        // Correct password - authenticated!
        ...
    } else {
        // Incorrect password - display error
        ...
    }
}
...

En utilisant password_verify, vous pouvez comparer les mots de passe en toute sécurité sans révéler leurs formes cryptées, garantissant ainsi l'intégrité de vos données utilisateur.

Mise en œuvre de $results = $ stmt->fetch(PDO::FETCH_ASSOC);

Pour simplifier la récupération des données utilisateur détails, vous pouvez utiliser la méthode PDO::FETCH_ASSOC. Il renvoie un tableau associatif où les noms de clés correspondent aux noms de colonnes :

<?php
...
$query = $conn->prepare("SELECT * FROM user_accounts WHERE email=:email");
$query->bindParam(':email', $_POST['email']);
$query->execute();
$results = $query->fetch(PDO::FETCH_ASSOC);
...

Désormais, vous pouvez accéder directement aux informations utilisateur à l'aide de clés associatives :

$_SESSION['email'] = $results['email'];
$_SESSION['first_name'] = $results['first_name'];

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