Maison  >  Article  >  développement back-end  >  Comment interdire les connexions répétées en php

Comment interdire les connexions répétées en php

藏色散人
藏色散人original
2021-05-17 09:27:292447parcourir

Comment interdire les connexions répétées en PHP : 1. Obtenez l'ID de la session de navigateur actuellement ouverte ; 2. Déterminez si le session_id dans la base de données est égal au session_id actuel. Sinon, vous devez sauter et. reconnectez-vous.

Comment interdire les connexions répétées en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

php empêche les utilisateurs de se connecter à plusieurs reprises

🎜>

Comprenons d'abord plusieurs paramètres de la session :

ini_set('session.auto_start',0);

Définir pour désactiver le démarrage automatique de la session

ini_set('session.cookie_lifetime',0);

Définir la session pour qu'elle soit invalide lorsque le navigateur est fermé. La session est comme ça par défaut. Il n'est pas nécessaire de définir

ini_set('session.gc_maxlifetime',3600);

Définir la durée de la session lorsque le navigateur n'est pas fermé

Vous connaissez probablement les paramètres ci-dessus, alors commençons par comprendre le contenu d'aujourd'hui. Chaque fois qu'un utilisateur se connecte à un compte, il ouvre un navigateur et un session_id est automatiquement généré (unique pendant la période de validité), puis nous stockons cet identifiant unique dans la table user (la session en cours est mise à jour à chaque fois qu'il se connecte) La valeur de session_id dans la table des utilisateurs du compte). De cette façon, toutes les interfaces après la connexion doivent déterminer si le session_id() du navigateur actuel est cohérent avec le session_id de la table utilisateur de la base de données. S'ils sont incohérents, cela indiquera que le compte actuel est en ligne et. vous devez vous reconnecter avant de pouvoir refuser sa connexion. (C'est-à-dire qu'un seul utilisateur peut se connecter à la fois, et les utilisateurs qui se connectent plus tard évinceront les utilisateurs qui se sont connectés au compte plus tôt)

Pour plus de détails, jetons un œil au code : (Pour les autres codes qui ne sont pas liés au code de ce tweet, je n'entrerai pas dans les détails)

Comment interdire les connexions répétées en php

La première case : Récupérer l'identifiant de l'actuellement ouvert session du navigateur et préparez-vous à l'insertion et à la mise à jour suivantes du session_id unique dans la base de données

Deuxième case : Déterminez si le session_id dans la base de données est égal au session_id actuel. S'ils ne sont pas égaux, mettez à jour le session_id dans. la base de données actuelle. S'ils sont égaux, renvoyez 3 directement au front-end ajax

Comment interdire les connexions répétées en php

Dans l'interface index.php, cette case indique si le session_id() actuel est égal au session_id de la base de données. S'ils ne sont pas égaux, cela signifie que le compte actuel est déjà connecté et que le session_id n'est pas égal et que vous devez vous reconnecter.

Apprentissage recommandé : "Tutoriel vidéo PHP

"

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
Article précédent:A quoi sert la sortie phpArticle suivant:A quoi sert la sortie php