Back

Récupérer un mot de passe oublié en PHP 1-3

Récupérer un mot de passe oublié en PHP 1-3

  1. Objectifs

    • Être capable de créer un système d’authentification et de récupération de mot de passe
  2. Présentation

    • Le système de réinitialisation du mot de passe est très nécessaire pour les sites Web dotés d’une fonction d’enregistrement de l’utilisateur, car dans le cas où l’utilisateur aurait oublié son mot de passe et ne pouvait pas se connecter, ce système de réinitialisation du mot de passe aide à réinitialiser le mot de passe en envoyant un lien vers son adresse e-mail enregistrée.
    • Dans ce tutoriel, je décris les étapes impliquées dans la récupération du mot de passe d’un utilisateur; nous allons également implémenter un tel système en utilisant PHP et une base de données MySQL dans ce tutoriel.
    • Pour créer un système de réinitialisation de mot de passe, il suffit de quatre étapes:
      • Créer un formulaire HTML pour le système de réinitialisation de mot de passe.
      • Créez un fichier PHP pour envoyer le lien
      • Créez un fichier PHP pour réinitialiser le mot de passe
      • Créez un fichier PHP pour mettre à jour le nouveau mot de passe



  3. Processus de mise en œuvre d’un système d’oublie de mot de passe

      • L’ensemble du processus de mise en œuvre d’un tel système peut être décomposé en 4 étapes principales. Chaque étape est caractérisé par la création d’un formulaires qui doit être présenté à l’utilisateur pour la remplir:
    • Formulaire d’inscription
      • Ce formulaire présente la première étape du système, il permette l’enregistrement d’un nouveau membre dans une base de données MySQL.
      • Stocker des mots de passe sécurisés avec PHP

    • Formulaire de connexion
      • Ce formulaire prend la combinaison du nom d’utilisateur et du mot de passe d’un utilisateur et les connecte s’ils sont enregistrés sur le système.
      • Sur ce formulaire, nous fournissons un lien “Mot de passe oublié?” au cas où l’utilisateur aurait oublié son mot de passe et aurait besoin de le réinitialiser.
      • Stocker des mots de passe sécurisés avec PHP

    • Formulaire d’envoi d’email
      • Si l’utilisateur a oublié son mot de passe, il peut cliquer sur le bouton “Mot de passe oublié?” lien sur la page de connexion pour le réinitialiser.
      • Cliquer sur ce lien les amènera à une autre page qui les invitera à entrer l’e-mail.
      • Lorsque l’adresse e-mail qu’ils fournissent ne se trouve pas dans notre table d’utilisateurs dans la base de données, nous afficherons
      • Un message d’erreur indiquant “Aucun utilisateur de ce type n’existe sur notre système“.
      • Si par contre l’utilisateur existe, nous générerons un jeton unique (une chaîne aléatoire unique) et stockerons ce jeton avec cette adresse e-mail dans le mot de passe_resetstable dans la base de données.
      • Un e-mail contenant ce jeton dans un lien est envoyé à l’adresse mail fournit.
      • En cliquant sur le lien dans son e-mail (l’e-mail que nous leur avons envoyé), l’utilisateur est renvoyé vers notre site Web sur une page qui leur présente un autre formulaire.
      • Stocker des mots de passe sécurisés avec PHP

    • Nouveau formulaire de mot de passe
      • Une fois que l’utilisateur est de retour sur notre site Web, nous récupérerons le jeton provenant du lien et le stockerons dans une variable de session.
      • Ensuite, nous leur présenterons un formulaire leur demandant de saisir un nouveau mot de passe pour leur compte sur notre site Web.
      • Lorsque le nouveau mot de passe est soumis, nous interrogerons la table password_resets pour l’enregistrement contenant ce jeton qui vient juste du lien dans le courrier.
      • Si le jeton se trouve dans la table password_resets , nous sommes convaincus que l’utilisateur est bien qui il est et il a cliqué sur le lien dans son courrier.
      • À ce stade, nous récupérons l’adresse e-mail de l’ utilisateur dans password_resets (rappelez-vous que nous avons enregistré le jeton à côté de leur adresse e-mail) et utilisez cet e-mail pour récupérer l’utilisateur dans la table des utilisateurs et mettre à jour son mot de passe.
      • Récupérer un mot de passe oublié en PHP

  4. Mise en œuvre

    • Créer une base de données
      • Créez une base de données appelée “motdepasse” et dans cette base de données, créer une table à savoir “users” avec les champs suivants:
      • Champ Description
        id Identifiant numérique unique (Autoincriment) .
        username Le nom d’utilisateur.
        pwd Le mot de passe haché et sécurisé.
        adresse-email L’adresse courriel de l’utilisateur.
        date_demande_recuperation_pwd Date à laquelle l’utilisateur a demandé à réinitialiser son mot de passe.
        pwd_recuperation_token Token généré aléatoirement, utilisé pour réinitialiser le mot de passe.
    • Se connecter à la base de données
      • $host = 'localhost';
        $dbname = 'motdepasse';
        $user = 'root';
        $passwd = '';
        $db = new PDO("mysql:host=localhost;dbname=".$dbname, $user, $passwd);
    • Créer le formulaire d’inscription (HTML et Bootstrap)
      • HTML
        • Récupérer un mot de passe oublié en PHP

      • PHP
        • Récupérer un mot de passe oublié en PHP

    • Créer le formulaire d’authentification (HTML et Bootstrap)
      • HTML
        • Récupérer un mot de passe oublié en PHP

      • PHP
        • Récupérer un mot de passe oublié en PHP



Riadh HAJJI

Laisser un commentaire

Abonnez vous à notre chaîne YouTube gratuitement