Accueil > Forum > > > > eviter double session?
eviter double session?
lundi 13 août 2007 à 14:03:15 |
eviter double session?

agparchitecture
|
Bonjour à tous, je suis en train d'implémenter une zone d'administration avec authentification par session. Le problème c'est que j'aimerais bien qu'une seule personne puisse s'y connecter. En effet, il faudrait eviter que deux administrateur ne puisse pas modifier les base de donnée en même temps.
Le problème c'est que je ne sais pas comment aborder cette solution.
Merci de bien vouloir me consacrer un peu de votre temps.
|
|
lundi 13 août 2007 à 14:21:30 |
Re : eviter double session?

Evangun
|
Salut,
tu dois enregistrer quelque part dans ta base que quelqu'un est actuellement connecté (noter la date/heure), et donc pouvoir empêcher une autre connexion.
Ca c'est facile, ce qui l'est moins c'est savoir quand cette personne se déconnecte. Pour ça tu peux demander à ce que la personne se déconnecte, mais tout le monde oublie de le faire. Tu peux donc plutôt enregistrer la date du dernier signe de vie de l'admin connecté. Si ce dernier signe de vie est supérieur à 20 minutes (absence présumée) et que quelqu'un d'autre se connecte, tu retires le droit de modifier au premier pour donner au second.
Dernière astuce pour avoir un signe de vie régulier si la personne est connectée mais qu'elle ne fait pas de rechargement de page : Ajax.
Si j'ai pas été clair sur qqch, demande :)
|
|
lundi 13 août 2007 à 14:38:07 |
Re : eviter double session?

agparchitecture
|
1. Enregistrer dans la base de donnée ou dans un fichier pas de problème. 2. Un lien de deconnection est prévu mais je ne vois pas comment voir si il y a un signe de vie. Comme la session est une variable globale est ce que via un script du type session_start(); $_SESSION['admin'] = 1; tous ceux qui ce connecte on la même variable ou une nouvelle est créer à chaque fois? Ce qui me permettrait de faire une vérification au moment du login avec quelque chose du type if (isset($_SESSION['archigpadmin'])) { //session existante } 2bis Quelle est la fonction qui permet de définir la durée d'un session (pas le courage de chercher sur google  ) 3 Je ne connaix pas ajax. Qu'est ce que c'est
|
|
lundi 13 août 2007 à 15:02:33 |
Re : eviter double session?

Evangun
|
Réponse acceptée !
1) ok 2) oui bien sûr chaque connecté doit avoir son propre login ! sinon comment veux-tu distinguer 2 personnes connectées. Et à chaque rafraissement de page / requete ajax tu fais un UPDATE dans ta base pour indiquer le dernier signe de vie 3) c'est dans php.ini, donc sauf serveur dédié, tu ne peux pas. 4) (pas le courage de chercher sur google ) --> si t'as pas le courage de chercher, sur ce forum on n'aura pas le courage de te répondre, ya pas marqué Lycos ici
|
|
lundi 13 août 2007 à 15:15:39 |
Re : eviter double session?

agparchitecture
|
Merci 4) session.lifetime = 0 mais impossible car pas de serveur dédié...
Est-ce que tu peux me confirmé que lorsqu'on utilise les variables de session un cookies est crée avec les valeur de la session.
Je vais cherché du coté dchaque rafraichissement de page et suppression de session du premier connecté.
|
|
lundi 13 août 2007 à 15:29:53 |
Re : eviter double session?

Evangun
|
A moins d'enregistrer dans ta base l'ID de session du premier, tu ne pourras pas supprimer sa session.
Non, le plus simple est de le laisser connecté, mais s'il veut revenir après la période des 20 mn (qui est au passage la période d'expiration des sessions par défaut, ça devrait éviter des soucis), ça bloque. Pour ça il suffit qu'à chaque nouvelle page où il va, avant d'afficher quoi que ce soit ça vérifie si c'est toujours lui qui est enregistré comme "admin en cours".
Oui pour le cookie de session, il est créé automatiquement, mais il ne contient que le session_id (à peu de choses près), pas les variables de $_SESSION. Lui il contient les variables de $_COOKIES.
|
|
lundi 13 août 2007 à 15:44:06 |
Re : eviter double session?

agparchitecture
|
Il y a quand même quelque chose que je ne comprend pas???? Quand tu dis : "mais s'il veut revenir après la période des 20 mn, ... ... ça bloque" En fait il faut que je fasse deux verifications : -1. La première pour voir si il est connecté -2. si il y est depuis moins de 20min? Parce que ma période d'expiration des sessions par défaut est (phpinfo ()) : | session.cache_expire | 180 | 180 |
Est-ce qu'on ne peut pas faire un compteur de personne connecté (type:http://www.phpcs.com/codes/NOMBRE-SESSION-ACTIVE-CONNECTES-SUR-SERVEUR_13196.aspx) et si il y en a un on empeche la page login de ce charger? En tout cas merci de ta patiente
|
|
lundi 13 août 2007 à 15:54:44 |
Re : eviter double session?

Evangun
|
Non je pense qu'il vaut mieux que login et autorisation de modifier soient 2 choses distinctes. Donc oui, 2 vérifications : - la première juste vérifier qu'il est loggé (avec une simple variable de session) - la deuxième requiert un appel à la base de données pour voir si qqn est déjà en train de modifier.
Moi ce que j'avais fait pour un client une fois c'était une "salle d'attente" : tu peux te connecter, mais si qqn est déjà en train de faire des modifs, ça te dit qui c'est, une estimation du temps avant qu'il ait terminé, et s'il y a d'autres personnes avant toi qui ont aussi demandé à faire des modifs (une file d'attente en fait).
|
|
lundi 13 août 2007 à 16:04:01 |
Re : eviter double session?

agparchitecture
|
Oui mais comment je peux récupérer sa variable de session pour voir si il est connecté. c'est ca que je ne comprend pas en fait. Comment peut-n récupérer des variable de session démarré depuis deux ordinateur différent?
|
|
lundi 13 août 2007 à 16:14:26 |
Re : eviter double session?

Evangun
|
Réponse acceptée !
Non ça tu ne peux pas, tu notes dans ta base de données qu'il est connecté. Tu notes son login, et la date de son dernier signe de vie.
|
|
Cette discussion est classée dans : problème, temps, session, double, eviter
Répondre à ce message
Sujets en rapport avec ce message
Problème de session ? [ par phpwankenobi ]
Salut à tous...Voici un code que j'utilise pour garantir la confidentialité de la partie d'un site :session_start();if (!session_is_registered('login'
problème avec les session [ par meridius ]
Hello,Voilà, j'ai un problème avec ma session... la création se déroule bien, mais quand je navigue dans ma session page par page et que soudainement
problème incompréhensible [ par iomega ]
Bonjour à tous j'ai toujours le même problème lorsque je passe de page en page j'ai l'impression que je perd la session et donc je suis redirigé sur l
::Session's anarchie mdr [ par kodiask ]
Voilà j'ai encore un problème mdr, j'ai une page (index.php) avec des include dedan, et sur cette page index j'ai un formulaire sidentifier, ( les cod
session + formulaire [ par Orcus ]
G un problème très simple, mais je n'arrive pas à le résoudre et je ne vois pas le problème ! J'ouvre ma page a.php (aucun problème), je remplie le fo
Problème de session avec .htaccess [ par tazmania37 ]
Salut à tous !Alors voilà, j'ai un petit problème tout con !Sur mon site j'ai une section qui est protégé par un .htaccess.Jusque là, tout va bien, qu
Problème chez free : switch/session ?! [ par Linkman ]
Bonjour!Je suis hébergé par free et j'ai un petit (gros lol) problème.Quand on clique sur un lien, la plus part du temps on est redirigé vers la page
a l'aideuh ! probleme avec les sessions [ par calopsfr ]
je sais pas sic 'est mon hebergeur qui pose problème (free provisoirement) ou si je suis tout simplement pas malin, mais j'ia un problème avec les ses
Fatal error session_start() [ par ftug ]
bonjour,j'ai depuis un certain temps une erreu qui aparait de temps en temps ( pas tres technique copmme therme mais c'est bien le cas, 1/10 environs)
problème de session ! [ par meridius ]
Hello tout le monde,je suis en train de construire un "Espace membre" et j'ai un petit souci au moment du login. Donc, à chaque login, ce message appa
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|