Pas deux connexions sur le meme compte
the.co
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous!
Voilà, j'ai créé un site avec un système de connexion, j'aimerai que deux connexions (ou plus hein) sur un meme compte ne soient pas possible ? Que le dernier qui s'est connecté se fasse éjecter ou alors une autre technique?
Ex :
imaginons que j'ai divulgué mon login et mot de passe par mégarde (grosse blague)
je me connecte sur mon compte avec mon login et mdp et la quelqu'un se connecte en meme temps que moi de chez lui avec mon login et mdp.
Ca : je voudrai que se soit pas possible.
Si vous avez des propositions c'est avec plaisir!
Merci d'avance ! :)
Voilà, j'ai créé un site avec un système de connexion, j'aimerai que deux connexions (ou plus hein) sur un meme compte ne soient pas possible ? Que le dernier qui s'est connecté se fasse éjecter ou alors une autre technique?
Ex :
imaginons que j'ai divulgué mon login et mot de passe par mégarde (grosse blague)
je me connecte sur mon compte avec mon login et mdp et la quelqu'un se connecte en meme temps que moi de chez lui avec mon login et mdp.
Ca : je voudrai que se soit pas possible.
Si vous avez des propositions c'est avec plaisir!
Merci d'avance ! :)
A voir également:
- Pas deux connexions sur le meme compte
- Deux compte whatsapp sur le même téléphone samsung - Guide
- Créer un compte google - Guide
- Créer un compte instagram sur google - Guide
- Facebook connexions - Guide
- Comment faire deux colonnes sur word - Guide
4 réponses
Bonjour,
on peut imaginer différentes méthodes pour faire ça, mais en php pur, ça risque de ne pas être très précis.
en gros ce que tu peux faire :
commencer par stocker le session id de l'utilisateur qui se connecte, ainsi que le timestamp du moment où il le fait
ensuite tu peux mettre à jour ce timestamp régulièrement (sur chaque page, via une requête ajax ?) pour signifier au site que l'utilisateur est toujours connecté
et à la connexion, tu vérifies le session id et le timestamp, si le session id est différent et que la différence entre le timestamp actuel et celui en base est inférieur à un "timeout" défini (c'est là que c'est un peu imprécis), tu refuses l'authentification.
Pour ma part, je ferai un truc de ce genre...
je sais pas si tu m'as suivi ^^
on peut imaginer différentes méthodes pour faire ça, mais en php pur, ça risque de ne pas être très précis.
en gros ce que tu peux faire :
commencer par stocker le session id de l'utilisateur qui se connecte, ainsi que le timestamp du moment où il le fait
ensuite tu peux mettre à jour ce timestamp régulièrement (sur chaque page, via une requête ajax ?) pour signifier au site que l'utilisateur est toujours connecté
et à la connexion, tu vérifies le session id et le timestamp, si le session id est différent et que la différence entre le timestamp actuel et celui en base est inférieur à un "timeout" défini (c'est là que c'est un peu imprécis), tu refuses l'authentification.
Pour ma part, je ferai un truc de ce genre...
je sais pas si tu m'as suivi ^^
oui je t'ai complètement suivi! J'avais pensé à ça aussi, mais je ne sais pas comment le représenter. As tu du code à me proposer?
Ah non, désolé j'ai pas ça sous la main, mais si tu maîtrises un peu php, lance toi, je t'aiderai si tu as un soucis.
ce n'est pas une bonne technique.
1- Utilisateur A seconnecte: tu crées une session.... parallelement tu enregistre la clé de la session dans un fichier (methode de caching... si tu es bien avancé dans le PHP: voir 'redis' sur google)
avc un mapping par exemple:
$array_list[$identifiant_de_l_utilisateur] = session_id
2- lorsque l'utilisateur (A normalement mais il peux s'agir d'un utilisateur B) fait une requete, tu verifies si ce utilisateur existe deja dans $array_list
a) L'utilisateur existe: verifie si la clé de session (session_id) correspond à celle enregistré dans ton fichier (en 1-)
a_1: la clé session_id correspond --> tout est normal
a_2: la clé session_id ne correspond pas: ce qui signignie 2 connections utilisant le
meme identifiant
-> $array_list[$identifiant_de_l_utilisateur] = null
-> ce qui signifie que l'utilisateur doit se reidentifier (cas 1-)
1- Utilisateur A seconnecte: tu crées une session.... parallelement tu enregistre la clé de la session dans un fichier (methode de caching... si tu es bien avancé dans le PHP: voir 'redis' sur google)
avc un mapping par exemple:
$array_list[$identifiant_de_l_utilisateur] = session_id
2- lorsque l'utilisateur (A normalement mais il peux s'agir d'un utilisateur B) fait une requete, tu verifies si ce utilisateur existe deja dans $array_list
a) L'utilisateur existe: verifie si la clé de session (session_id) correspond à celle enregistré dans ton fichier (en 1-)
a_1: la clé session_id correspond --> tout est normal
a_2: la clé session_id ne correspond pas: ce qui signignie 2 connections utilisant le
meme identifiant
-> $array_list[$identifiant_de_l_utilisateur] = null
-> ce qui signifie que l'utilisateur doit se reidentifier (cas 1-)