Page 1 sur 1
limitation du nombre de connexions simultannées
Posté : 12 avr. 2007, 15:37
par zomaz
Bonjour,
Je recherche un moyen d'empecher un utilisateur d'avoir 2 connexions simultannées à une application Web (php-oracle sous linux)
J'imagine que ça peut se faire via les sessions en stockant l'adresse IP associée à une session et en vérifiant son unicité à chaque connexion.
J'étais curieux de savoir si il n'y avait pas d'autres moyens ? (via apache par exemple, ...)
Merci
Posté : 12 avr. 2007, 16:07
par code3
Et ben tout simplement ajoutez un champ "Connected" ayant comme valeur initiale false dans la table des utilisateurs et chaque fois qu'un utilisateur ce connecte vous mettez true dans ce champ c'est à dire que cette utilisateur est connecté. Ainsi s'il veut se connecter une autre fois et ben il pourra pas puisque le champ est à true, c'est à dire il est déjà connecté.
Une fois il se déconnecte vous changez l'état de ce champ à false.
Posté : 12 avr. 2007, 16:17
par zomaz
Le problème de cette solution est que si l'utilisateur ferme son navigateur sans se déconnecter proprement, il ne pourra plus se re-connecter (connected restera à TRUE)
d'où l'idée d'utiliser les sessions....
Posté : 13 avr. 2007, 10:42
par Ryle
Le problème de la session, c'est qu'il suffit de lancer un nouveau navigateur (pas juste ouvrir une nouvelle fenêtre, mais lancer un nouveau navigateur dans un nouveau processus) pour que le serveur créé une nouvelle session entre les deux. Et tu vas à mon avis te galérer pour aller comparer les ip stockées dans les différentes sessions ouvertes pour savoir si tu lui autorises ou non la connexion. Et de même en cas de problème de connexion, la session peut persister jusqu'au timeout, l'empêchant ainsi de se reconnecter pendant 15mn...
Ceci dit, je ne vois pas l'intérêt d'empêcher un utilisateur d'ouvrir deux fois sa connexion ? En fonction de ton besoin il y a peut être mieux à faire ou au contraire aucune raison de se prendre la tête
