[RESOLU] probleme de gestion des sessions php

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Répondre
bigjeef
Arias
Messages : 6
Inscription : 17 févr. 2008, 15:23

[RESOLU] probleme de gestion des sessions php

Message par bigjeef »

Bonjour a tous

je suppose que ce n'est pas une découverte, mais il apparait clairement qu'il y a un probleme de gestion de sessions multiples avec FF et ce n'est pas le seul navigateur qui l'a ....

petit contexte:
nous ( ma femme et moi) somme webmestres amateurs d'un site de jeu. Un de nos modérateurs, nous as ramené une faille dûe a Firefox qui permet une certaine sorte de tricherie. Pour vous montrer ce qu'il se passe, je vais me permettre de faire une comparaison entre les navigateurs.

donc, le jeu fonctionne en $_SESSION php, toutes les pages sont a acces protégé, l'entrée sur le site se faisant par login et mdp.

SI un joueur ouvre deux pages et se connecte le sur site avec deux comptes différents, il obtient ceci, l'affichage de l'id de session ne servant évidemment que pour le dev :wink:

exemple:

- avec Internet Explorer 7.0.5730.11
(page 1) pseudo : alfred - session_id : lj3qcagin373p75sskrc6ntup2
(page 2) pseudo : fredo - session_id : 2k6fmo73km0hpu1c89es4c5up0
=> pas de probleme

- avec Opera 9.25
(page 1) pseudo : alfred - session_id : 51iofgfesb1i7rkeljrldla232
(page 2) pseudo : fredo - session_id : 51iofgfesb1i7rkeljrldla232
=> le même id de session avec DEUX sessions différentes :?

- avec Netscpae 7.1
(page 1) pseudo : alfred - session_id : qasejc21cu871evd49j7qm3fn1
(page 2) pseudo : fredo - session_id : qasejc21cu871evd49j7qm3fn1

=> le même id de session avec DEUX sessions différentes :?

- Avec FireFox 2.0.0.12
(page 1) pseudo : alfred - session_id : c8uh0svr9pdheeh426n891mcl7
(page 2) pseudo : fredo - session_id : c8uh0svr9pdheeh426n891mcl7
=> le même id de session avec DEUX sessions différentes :?

Bref, je suis un peu le c*l par terre parce que IE est le SEUL a accepter la gestion des multiples sessions php

dans notre cas, la conséquence est qu'il est possible d'effectuer certaines opérations sur la "page 1" avec les informations de la "page2" uniquement dues au fait de l'id de session identique. comme c'est un petit site quasi familiale, ça ne pose aucun probleme a proprement parler, c'est juste une petite maniere de tricher

Mais je suppose que sur des sites bcp plus sérieux, cela pourrait porter a conséquence.

donc, deux questions ...
1. comment palier a ce probleme de gestion de session
2. comment sensibiliser les developpeurs des autres "grands navigateurs", Firefox en premier, a ce probleme.

Merci pour votre aide et vos idées


Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SIMBAR={C841EE51-AB9C-4DE0-81D6-B498A8F16AE6}; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Dernière modification par bigjeef le 17 févr. 2008, 18:20, modifié 1 fois.
Bigjeef :-)
asap29
Animal mythique
Messages : 12088
Inscription : 30 oct. 2003, 00:34

Message par asap29 »

Salut
pourquoi incriminer FF ,plutot que opera ou netscape

je dirais plutot que c'est IE qui laisse tout passer

ton post aurait plutot sa place sur ce forum
http://www.geckozone.org/forum/viewforum.php?f=15


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
si votre pb est résolu modifiez votre premier sujet en ajoutant "resolu"-merci
n'oubliez pas de consulter le portail et ses articles
bigjeef
Arias
Messages : 6
Inscription : 17 févr. 2008, 15:23

Message par bigjeef »

Salut Asap

hé petite minute, je n'incrimine personne loin de la, je ne suis pas plus partisan de IE que de FF que de n'importe quel autre navigateur.

je fais juste constat d'un probleme qu'il me semble être de sécurité, point barre, et surement pas de la pub pour IE comme tu pourrais le sous-entendre il me semble !

et NON il n'a pas sa place sur les sites posant problemes puisque TOUS les sites sous sessions rencontrent le même probleme !

j'affirme persiste et signe qu'avec la gestion des sessions telle qu'elle est il est POSSIBLE de transférer des données entre deux comptes différents alors que l'on est sous session !

et pour répondre a ta réponse, POUR UNE FOIS, IE est justement le seul qui ne laisse rien passer a ce niveau la ! (et je te jure que c'est pas lui qui m'a posé le moins de probleme pdt le dev au contraire, je me suis bien arraché les cheveux avec)

donc, il me semble clairement que la gestion des sessions multiples est bel et bien un sujet a débattre et non pas une simple phrase qui dit "c'est IE qui laisse tout passer"

Amicalement,

EDIT: le constat est effectivement le même pour Nescape et Opera et la aussi, je compte aller poser la question si je trouve un forum :wink:


Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SIMBAR={C841EE51-AB9C-4DE0-81D6-B498A8F16AE6}; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Bigjeef :-)
Avatar de l’utilisateur
jpj
Animal mythique
Messages : 25261
Inscription : 01 août 2005, 15:38

Message par jpj »

Bonjour,

Je sais bien que ce n'est pas "parce qu'ils sont nombreux à avoir tort qu'ils ont raison" mais, en l'occurrence, si seul IE a un comportement qui te convient, comme c'est le navigateur qui s'assoit sans vergogne sur les recommandations du W3C, ce n'est vraiment pas une référence.

Sinon, je déplace, non dans les sites posant problème, mais dans développement web puisqu'il s'agit de tes sites.

A+
► Si votre problème est [Résolu], svp, marquez-le.
► Pas de support par mp, l’aide se fait sur le forum.
bigjeef
Arias
Messages : 6
Inscription : 17 févr. 2008, 15:23

Message par bigjeef »

Merci ...

bref, une fois qu'on dit qque chose sur FF on se fait incendier :?:

sache qd même que mon site est conforme W3c et que je sais pertinement que c'est IE qui se fiche le moins des recommendations !

je ne voudrais pas paraitre désagréable, mais les gens butés m'énervent ...

je dis simplement qu'il est ETONNANT ( je reformule autrement) que pour une fois ce soit IE qui donne satisfaction !!!

ça m'énerve, j'ai vraiment l'impression qu'on ne comprend pas ce que j'essaye d'expliquer ...

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SIMBAR={C841EE51-AB9C-4DE0-81D6-B498A8F16AE6}; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Bigjeef :-)
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Je dois avouer que je suis assez surpris par le comportement d'IE... :shock:

Lorsque le visiteur se loggue, il se voit attribuer un id de session. Rien de plus normal.
Celui-ci est stocké dans un cookie. Un cookie est caractérisé par un nom (p.ex session_id), un domaine (www.monsite.com), et un chemin (p.ex "/" pour tout le site).

Maintenant, pour moi, deux cookies du même site avec le même chemin et le même nom ne peuvent coexister... en effet, si le même site, définit un cookie avec le même nom et le même chemin, c'est selon moi la définition même de la modification d'un cookie !

Comment peut-il y avoir 2 sessions différentes dans IE ? Je ne sais pas trop... peut-être 1 par fenêtre ? Cela me semble bizarre...
Comment peut-il y avoir 2 sessions identiques dans Firefox avec 2 contenus différents ? C'est au niveau du serveur qu'il y a un souci, 1 session doit correspondre à 1 série de données. Si ce n'est pas le cas, Firefox n'y est certainement pour rien... :wink:

Bref, à mon sens, la question à te poser est plutôt : pourquoi est-il possible de se logguer lorsque l'on est déjà loggué ? Aucun site ne permet ça (à part le tien visiblement) ! Selon moi, c'est donc au niveau de ton application qu'il y a un souci.
Je me demande également pourquoi le pseudo est stocké dans ce cookie ? :shock: :roll:

Je te conseille d'installer l'extension LiveHTTPHeaders qui te permettra de suivre l'échange des cookies avec le navigateur. À toi de voir au niveau du serveur pour comprendre ce qui se passe. Il se pourrait que l'extension WebDeveloper te soit également utile :wink:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.12) Gecko/20080207 Firefox/7.10 Firefox/2.0.0.12
bigjeef
Arias
Messages : 6
Inscription : 17 févr. 2008, 15:23

Message par bigjeef »

Salut

merci pour la réponse (enfin) constructive :lol:

je vais essayer d'être clair..
Comment peut-il y avoir 2 sessions différentes dans IE ? Je ne sais pas trop... peut-être 1 par fenêtre ? Cela me semble bizarre...
IE donne effectivement une session par fenetre
Je me demande également pourquoi le pseudo est stocké dans ce cookie
le pseudo n'est pas dans le cookie, ça doit être ma manière de noter qui prête a confusion :wink:
Bref, à mon sens, la question à te poser est plutôt : pourquoi est-il possible de se logguer lorsque l'on est déjà loggué ? Aucun site ne permet ça (à part le tien visiblement) ! Selon moi, c'est donc au niveau de ton application qu'il y a un souci.
La, tu viens de me donner une idée.

Toutes les pages étant en session, c'est vrai que je pourrais rediriger vers la premiere page "acces protégé" si il y a déja un compte logué au lieu de rester sur l'acceuil, ce qui permettrait de contourner non pas la simple session de FF et les autres, mais bien de contourner les sessions multiples de IE.

c'est assez déroutant comme comportement, mais si je ne m'en suis pas inquiété, c'est justement pour l'avoir rencontré souvent sur d'autres sites de jeux.(avant de créer le nôtre) Donc le comportement de IE me paraissait "normal". ça permettais de gérer nos deux comptes en même temps sur un seul pc ( un dans chaque fenetre) ce qui n'est pas possible avec un autre navigateur.

Je regrette de m'être emporté au début, mais bon faut dire que l'accueil a été un peu déroutant et la je suis tres content d'avoir une réponse TRES constructive, même si elle ne vas pas dans le sens ou je pensais que ça coinçait :lol:

je vais voir pour modifier ça et tiens informé de la suite

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SIMBAR={C841EE51-AB9C-4DE0-81D6-B498A8F16AE6}; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Bigjeef :-)
asap29
Animal mythique
Messages : 12088
Inscription : 30 oct. 2003, 00:34

Message par asap29 »

Désolé si je t'ai choqué mais ce n'étais pas mon but
je ne suis partisant d'aucun navigateur en particulier et surtout incapable de creer un site donc de porter un jugement sur la façon dont la page est rédigée
je m'étonnais juste de voir 3 navigateurs sur 4 reagir d'une meme façon "erronnée" et de considérer que c'était le fonctionnement du 4 ème qui était normal
cordialement :wink:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
si votre pb est résolu modifiez votre premier sujet en ajoutant "resolu"-merci
n'oubliez pas de consulter le portail et ses articles
bigjeef
Arias
Messages : 6
Inscription : 17 févr. 2008, 15:23

Message par bigjeef »

je suis déja de retour.

Bon alors, sur ton idée, je suis parvenu a contourner le probleme :lol:

sur la page "home" j'ai placé un IF supplémentaire qui redirige vers la page "accueil" si une session est déja ouverte.

FireFox, réagit tres bien, si on ouvre une deuxieme fenêtre sur le site, il se loggue automatiquement sur le joueur déja logué dans la premiere fenetre.

Idem pour Opéra et Netscape ... reste IE lol

IE n'en tient pas compte et permet tjs de faire du multi-session, mais ça c'est secondaire, ça ne pose pas de probleme, du moins chez moi :roll:

j'ai simplement modifié comme ceci :
au départ il y a :

Code : Tout sélectionner

<?php
session_start();
... ?>
il suffisait d'ajouter pour éviter sous FF, Op et Ns d'avoir la possibilité de se loguer une deuxieme fois ...

Code : Tout sélectionner

<?php
session_start();
if(isset($_SESSION['login']))
  {
    header ('location:game.php');
    exit();
  }
... ?>
Merci pour votre aide, et encore désolé d'avoir pris la mouche sans raison :?

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SIMBAR={C841EE51-AB9C-4DE0-81D6-B498A8F16AE6}; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Bigjeef :-)
bigjeef
Arias
Messages : 6
Inscription : 17 févr. 2008, 15:23

Message par bigjeef »

Aucun problème Asap :wink:

j'ai un caractere un peu sanguin et j'avoue que ça m'énervait de ne pas trouver la faille sur ce qui se passait et de bonne foi, je pensais avoir a faire a un probleme de sécurité et non pas ... une erreur de ma part :oops:

Idem pour jpj, qui a été bcp plus réfléchi que moi en déplaçant au bon endroit :oops:

Errare Humanum Est ... Persevere Diabolicum ! :twisted:
(l'erreur est humaine, persévérer est diabolique ! lol )

pour ma peine, je ne manquerais pas de participer aux forums pour y poser des questions ou apporter mes petits lumieres aux problemes... ça sera ma punition lol :lol:

A bientot tt le monde et merci pour vos lumières :wink:

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SIMBAR={C841EE51-AB9C-4DE0-81D6-B498A8F16AE6}; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Bigjeef :-)
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités