


Comment utiliser PHP pour une connexion de base sans mot de passe
Jun 22, 2023 am 08:01 AMDans le développement d'applications Web, la connexion sans mot de passe (Remember Me) est une fonction très courante. Elle permet aux utilisateurs de rester connectés pendant une longue période sans avoir à saisir à chaque fois leur numéro de compte et leur mot de passe. En tant que langage de développement Web populaire, PHP propose des moyens simples d'atteindre cette fonction. Cet article explique comment utiliser PHP pour une connexion de base sans mot de passe.
- Set Cookie
En PHP, nous pouvons utiliser la fonction setcookie() pour définir un cookie Lorsque l'utilisateur choisit de se connecter sans mot de passe, nous pouvons définir un cookie pour enregistrer le statut de connexion de l'utilisateur une fois que l'utilisateur s'est connecté. avec succès. Voici un exemple de code :
// 设置cookie setcookie('remember_me', '1', time() + 86400 * 7);
Dans le code ci-dessus, nous avons défini un cookie nommé « remember_me » avec une valeur de « 1 » et une période de validité de 7 jours. De cette façon, lors de la prochaine visite de l'utilisateur sur le site Web, nous pouvons vérifier si « remember_me » existe dans le cookie afin de déterminer si l'utilisateur a choisi de se connecter sans mot de passe.
- Vérification des cookies
Chaque fois qu'un utilisateur visite le site Web, nous devons vérifier si « remember_me » existe dans le cookie pour vérifier si l'utilisateur est connecté. Voici un exemple de code :
// 检查cookie if (isset($_COOKIE['remember_me'])) { // 用户已登录 } else { // 用户未登录 }
Dans le code ci-dessus, nous déterminons si l'utilisateur est connecté en vérifiant si $_COOKIE['remember_me'] existe, afin d'afficher la page appropriée à l'utilisateur.
- Gardez l'utilisateur connecté
Lorsque l'utilisateur choisit de se connecter sans mot de passe, nous devons enregistrer le statut de connexion de l'utilisateur afin que l'utilisateur n'ait pas besoin de saisir à nouveau le compte et le mot de passe pendant un certain temps. Habituellement, nous pouvons enregistrer un « remember_token » dans la base de données lorsque l'utilisateur se connecte et le stocker dans un cookie. Voici un exemple de code :
// 生成remember_token $remember_token = md5(uniqid(rand(), true)); // 保存remember_token到数据库 $query = "UPDATE users SET remember_token = '{$remember_token}' WHERE id = '{$user_id}'"; mysqli_query($conn, $query); // 设置cookie setcookie('remember_token', $remember_token, time() + 86400 * 7);
Dans le code ci-dessus, nous générons un Remember_token unique et l'enregistrons dans la base de données. Nous enregistrons ensuite le jeton mémorisé dans le cookie de l'utilisateur.
- Restaurer le statut de connexion de l'utilisateur
Lorsque l'utilisateur visite à nouveau le site Web, nous devons vérifier si Remember_token existe dans le cookie et trouver l'utilisateur correspondant dans la base de données. Si l'utilisateur est trouvé, il est défini sur le statut connecté. Voici un exemple de code :
// 检查cookie中的remember_token if (isset($_COOKIE['remember_token'])) { // 查询数据库中匹配的用户 $query = "SELECT * FROM users WHERE remember_token = '{$_COOKIE['remember_token']}'"; $result = mysqli_query($conn, $query); $user = mysqli_fetch_assoc($result); // 如果找到用户,则将用户设置为已登录状态 if ($user) { $_SESSION['user_id'] = $user['id']; // 更新remember_token,防止被恶意利用 $new_remember_token = md5(uniqid(rand(), true)); $query = "UPDATE users SET remember_token = '{$new_remember_token}' WHERE id = '{$user['id']}'"; mysqli_query($conn, $query); // 更新cookie setcookie('remember_token', $new_remember_token, time() + 86400 * 7); } }
Dans le code ci-dessus, nous vérifions le Remember_token dans le cookie et trouvons les utilisateurs correspondants dans la base de données. Si un utilisateur est trouvé, nous configurons l'utilisateur comme étant connecté et mettons à jour le Remember_token pour éviter toute exploitation malveillante.
Résumé
Dans cet article, nous avons présenté comment utiliser PHP pour une connexion de base sans mot de passe. Il s'agit d'une fonctionnalité d'application Web très courante et des précautions doivent être prises pour garantir la sécurité et la légalité lors de sa mise en œuvre. Nous recommandons aux lecteurs de se référer à cet article lors de sa mise en œuvre, mais de procéder aux modifications et ajustements appropriés en fonction de la situation spécifique.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel

Misque de réponse HTTP simplifié dans les tests Laravel

Construisez une application React avec un Laravel Back End: Partie 2, React

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

12 meilleurs scripts de chat PHP sur Codecanyon
