[PHP]Gestion de sessions concurrentes

Gestion de sessions concurrentes [PHP] - PHP - Programmation

Marsh Posté le 26-03-2004 à 11:39:37    

Bon, voila mon problème :
 
J'ai un site sur lequel on accède par un login/pass, et j'aimerai que deux personnes ne puissent pas utiliser le même login en même temps.
 
Solution trouvée jusqu'a présent :
Enregistrer dans une table de la BD le login de la personne quand elle est loguée ainsi qu'un timeout mis a jour a chaque chargement de page du site.
 
Question (bordel quelle structure aujourd'hui :))
Quelqu'un a une meilleure idée / truc prévu en PHP que je connais pas ?
 

Reply

Marsh Posté le 26-03-2004 à 11:39:37   

Reply

Marsh Posté le 26-03-2004 à 11:45:14    

Oui je tiens a préciser que c'est une BD mysql, donc on oublie les triggers pour le timeout

Reply

Marsh Posté le 26-03-2004 à 12:36:32    

et faire un fichier temporaire de ttes les personnes deja connectés?

Reply

Marsh Posté le 26-03-2004 à 12:39:50    

hum, bof, de toute facon faut quand meme stocker une valeur de timeout, parce que si la personne ferme la page sans se dé-logger, elle reste considérée comme connectée

Reply

Marsh Posté le 26-03-2004 à 13:16:01    

[IQS]Krusty a écrit :

hum, bof, de toute facon faut quand meme stocker une valeur de timeout, parce que si la personne ferme la page sans se dé-logger, elle reste considérée comme connectée


 
oauis pas con ta remarque  ;)

Reply

Marsh Posté le 26-03-2004 à 14:58:46    

hmm, et si par exemple  pour ta table de session tu met le login en cle primaire, qd tu te connecte, tu cree ta session, tu ajoute un nouvel enregistrement dans ta table avec en cle primaire, le login
si qq'un essaie de se connecter avec le meme login, il va se faire jeter car la cle est unique

Reply

Marsh Posté le 26-03-2004 à 15:05:23    

bhen non, parce que si le dernier petit malin qui a quitté le programme sans se deloguer, son login est toujours présent dans la table, mais il faut regarder si son timeout n'est pas écoulé.  
Si le timeout est écoulé, il doit faire un update pour pouvoir se logguer

Reply

Marsh Posté le 26-03-2004 à 15:07:42    

bah alors, en fermeture de programme tu automatise la fermeture de session
 

Reply

Marsh Posté le 26-03-2004 à 15:07:51    

mais y'a le pb de la fermeture sauvage

Reply

Marsh Posté le 26-03-2004 à 15:21:07    

oui je me vois mal bloquer un utilisateur a vie parce que son pc a planté ou je ne sais quoi :D

Reply

Marsh Posté le 26-03-2004 à 15:21:07   

Reply

Marsh Posté le 26-03-2004 à 15:23:36    

toujours le même problème. http est un protocole déconnecté, dont pas moyen de savoir si l'utilisateur est toujours présent. c'est comme le nombre de connectés en direct sur le site, c'est des approximations.
 
pour moi, je vois pas de solution a part un timeout...


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed