À l'ère actuelle d'Internet, alors que de plus en plus d'informations sur le travail et la vie des gens doivent être stockées sur Internet, la demande de mots de passe des gens est également de plus en plus élevée. D'une part, les mots de passe peuvent protéger la sécurité et la confidentialité des informations personnelles. D'autre part, en raison de l'intensité croissante de la vie et du travail, la mémoire des personnes a également diminué de manière significative, ce qui a conduit de plus en plus de personnes à oublier leur propre mot de passe. . Par conséquent, savoir comment récupérer facilement et commodément des mots de passe personnels est devenu un besoin très courant. Cet article explique comment récupérer des mots de passe personnels en PHP.
1. Idée
Avant d'implémenter cette fonction, nous devons d'abord comprendre l'idée decette méthode. La fonction de récupération du mot de passe, en termes simples, consiste à réinitialiser le mot de passe de l'utilisateur en vérifiant la « question de sécurité » de l'utilisateur ou en « vérifiant l'adresse e-mail ». Par conséquent, lorsque nous implémentons la fonction de récupération de mots de passe, nous effectuons généralement les opérations de base suivantes :
2. Méthode de mise en œuvre
Ci-dessous, nous présenterons en détail comment PHP implémente la récupération de mot de passe personnel.
Étape 1 : Créer une table de base de données
Tout d'abord, nous devons créer une table de base de données pour stocker les informations de base de l'utilisateur, y compris les comptes d'utilisateurs, les mots de passe, les adresses e-mail, les questions de sécurité, etc. Ce qui suit est un tableau d'informations utilisateur commun :
CREATE TABLE user
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(255) NOT NULL,
password
varchar(255) NOT NULL,
email
varchar(255) NOT NULL,
question
varchar(255) NOT NULL,
answer
varchar(255) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Grâce à la création de la table de base de données ci-dessus, nous pouvons stocker les informations de base de l'utilisateur, y compris le nom d'utilisateur, le mot de passe, et votre adresse e-mail et définissez les questions et réponses de sécurité ainsi que d'autres informations nécessaires.
Étape 2 : Vérifier l'e-mail ou le numéro de téléphone portable de l'utilisateur
Lors de la vérification de l'e-mail ou du numéro de téléphone portable de l'utilisateur, nous devons obtenir les informations d'enregistrement de l'utilisateur à partir de la base de données et les comparer avec le compte saisi par l'utilisateur. La méthode de vérification spécifique peut être vérifiée à l'aide de la fonction intégrée de PHP, comme suit :
//Expression régulière pour détecter le format du numéro de téléphone mobile
$pattern = "/^1[34578]d{9}$/";
if (! preg_match($pattern, $user_account)) {
echo '手机格式不正确'; return;
}
//Requête des informations sur l'utilisateur
$sql = "SELECT * FROM user WHERE email='$user_account' OR mobile='$user_account'";
$res = mysqli_query ($sql);
$userInfo = mysqli_fetch_assoc($res);
Nous pouvons utiliser le code ci-dessus pour implémenter la logique de vérification des informations de compte lorsque l'utilisateur définit un nouveau mot de passe.
Étape 3 : Laissez l'utilisateur répondre aux questions de sécurité définies par l'utilisateur
Une fois que l'utilisateur a saisi et confirmé les informations du compte, nous devons déterminer les questions de sécurité définies par l'utilisateur et confirmer davantage les informations d'identité de l'utilisateur. Voici une méthode de vérification courante :
if($userInfo["answer"] == $user_answer) {
$mail = $userInfo["email"]; $to = $mail; $subject = '重置密码通知'; $new_password = generate_password(); // 生成一个新密码 $sql = "UPDATE user SET password = '$new_password' WHERE email = '$mail' OR mobile = '$mail' "; mysqli_query($sql); $text = "尊敬的用户,您的新密码为:".$new_password." ,请及时修改。"; mail($to,$subject,$text); echo '修改成功,请查收邮件';
} else {
echo '密保问题验证失败';
}
Dans le code ci-dessus, nous envoyons un e-mail à l'adresse e-mail de l'utilisateur adresse L'e-mail de réinitialisation du mot de passe réalise en outre la fonction de récupération du mot de passe et améliore l'expérience utilisateur.
Étape 4 : Réinitialiser le mot de passe de l'utilisateur
Après avoir confirmé le nom d'utilisateur et la question de sécurité, nous devons également terminer l'opération de réinitialisation du mot de passe. Voici une méthode de fonctionnement spécifique :
$new_password = generate_password(); //Générer un nouveau mot de passe
$sql = "UPDATE user SET password = '$new_password' WHERE email = '$mail' OR mobile = '$mail ' " ;
mysqli_query($sql);
Grâce au code ci-dessus, nous avons implémenté avec succès l'opération de réinitialisation du mot de passe, ce qui garantit une amélioration supplémentaire de l'expérience utilisateur.
Étape 5 : Envoyer une invite indiquant que le mot de passe a été modifié avec succès
Après avoir terminé l'opération de réinitialisation du mot de passe utilisateur, nous devons utiliser des méthodes de notification telles que l'e-mail ou le SMS pour envoyer à l'utilisateur une invite indiquant que le mot de passe a été modifié avec succès. Ce qui suit est un rappel courant :
$text = "Cher utilisateur, votre nouveau mot de passe est : ".$new_password.", veuillez le modifier à temps.";
mail($to, $subject, $text);
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!