Pas deux connexions sur le meme compte
Fermé
the.co
Messages postés
27
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
18 février 2013
-
18 févr. 2013 à 10:59
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 - 18 févr. 2013 à 14:48
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 - 18 févr. 2013 à 14:48
A voir également:
- Pas deux connexions sur le meme compte
- Créer un compte instagram sur google - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Deux compte whatsapp sur le même téléphone samsung - Guide
- Voir les connexions facebook - Guide
4 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
18 févr. 2013 à 11:07
18 févr. 2013 à 11:07
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 ^^
the.co
Messages postés
27
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
18 février 2013
1
18 févr. 2013 à 11:14
18 févr. 2013 à 11:14
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?
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
18 févr. 2013 à 11:16
18 févr. 2013 à 11:16
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.
xamurai
Messages postés
223
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
19 février 2013
15
Modifié par xamurai le 18/02/2013 à 15:02
Modifié par xamurai le 18/02/2013 à 15:02
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-)