Pb de session avec plusieurs fenêtre IE ouvertes

Pb de session avec plusieurs fenêtre IE ouvertes - PHP - Programmation

Marsh Posté le 11-04-2007 à 15:32:05    

J'ai mis ma question dans la cat "php" parce que l'appli concernée est codée en php, mais je pense que c'est plus un pb de conf de IE...
 
J'ai installé une MAJ d'une appli web et à cette occasion, l'url de l'accès à cette appli (un intranet) a changé (je dis ça, mais je ne sais pas si ça a un impact).
Le timeout d'une session est de 10h00 après la dernière manip effectuée.
 
Tout marche bien, sauf pour un de mes utilisateurs. Il est sous IE 6 et tant qu'il ouvre qu'une fenêtre de l'intranet, tout se passe bien. Mais dès qu'il en ouvre une 2ième, 2-3 mins après, il se fait déconnecter et est obligé de se relogger. Et ainsi de suite toutes les 2-3 mins. J'ai fait le test en utilisant son poste et mon login, rien ne s'est passé. C'est très troublant. Jusqu'à présent, je n'avais jamais été confronté à ce pb. Et étant le codeur, je peux vous assurer que j'ai pas mis de code spécifique pour faire chier cet utilisateur :)
 
Ca vous dit qq chose un bug pareil?

Reply

Marsh Posté le 11-04-2007 à 15:32:05   

Reply

Marsh Posté le 12-04-2007 à 10:27:07    

Je suppose que tu utilises des cookies aussi??

 

Quand tu dis utiliser ton login c'est pour une authentification juste pour l'intranet ou windows et l'intranet pompe l'utilisateur windows?

 

Tous les autres clients sont en IE6? La même mise à jour? Et avec firefox si c'est posssible?

 

La machine a été redémarrée?


Message édité par leflos5 le 12-04-2007 à 10:27:59
Reply

Marsh Posté le 12-04-2007 à 11:26:12    

J'utilise les sessions php ($_SESSION et pas $_COOKIE). Le login dont je parle est celui de l'appli, pas de windows. Et oui, ceux qui sont sous IE6 ont rigoureusement la même version (6.0.2900.2180...) et même mise à jour et ils n'ont pas le pb.
De même, ceux sous Firefox n'ont pas non plu ce pb...
 
Par contre, l'utilisateur qui a le pb n'a pas redémarré sa machine, mais jusqu'à présent, y'avait jamais eu besoin de faire ça. Autant, j'avais préconisé de vider le cache du navigateur (ça c'est utile), autant, je ne vois pas l'intérêt d'un reboot.

Reply

Marsh Posté le 12-04-2007 à 13:08:07    

Parfois les mystères microsoft :spamafote: Quand ça merdouille, très souvent un reboot fait disparaitre la chose, surtout si tous les postes sont identiques et que y'en a que un qui merde :??:
 
T'es sûr que y'a pas un vilain effet de bord dans ton code avec cet utilisateur et pas avec les autres :??:
 
Pourquoi ça se déconnecte: la session expire, il en rouvre une autre :??:
 
Dans un vague souvenir, j'avais eu un souci de ce genre exactement dans le même cas, en fait en ouvrant une autre fenêtre, ça ouvrait une autre session (sur la même appli) et donc la première était remplacée (c'était aussi avec IE6) et plus reconnue. Mais je me rappelle plus exactement comment j'avais résolu le truc :D
 
Il me semble que c'est une histoire de pb de cache. Ce qui est bizarre c'est que dans ton cas ça devrait déconner avec n'importe qui sur la machine en question!
 
Pour firefox, je voulais dire s'il utilisait firefox sur sa machine est ce que ça déconnerait encore ou pas?

Reply

Marsh Posté le 12-04-2007 à 14:52:57    

il a testé avec FF et il n'a pas le pb.  
 
Et lorsqu'il ouvre une nouvelle fenêtre IE, ça n'écrase pas de suite la session en cours : il faut attendre 2-3 minutes... C'est très bizarre...

Reply

Marsh Posté le 12-04-2007 à 15:05:53    

plusieurs choses :
 
1/ quand tu dis qu'il ouvre une nouvelle fenêtre de IE, qu'entends-tu par là ? il a fermé la précédente ?
2/ dans ce cas, qu'est-ce qu'il doit se passer normalement ? le fonctionnement normal des sessions, c'est que :
a) une session est attachée à chaque instance du même navigateur
b) une session est partagée entre toutes les fenêtre d'une même instance d'un navigateur
c) si une instance du navigateur est fermée, en ouvrir une nouvelle ne permet pas de récupérer la session précédente
 
ensuite, justement, pour ce qui est des instances, IE dispose d'un paramètre, qui modifie directement le comportement des instances d'IE. par défaut, si depuis une instance d'IE, j'ouvre un nouveau IE (window.open, taget != _self, shift + click sur un lien), alors la nouvelle fenêtre travaille dans la même instance (donc la même session). par contre, si je passe par l'icône de IE, il s'agit d'une nouvelle instance qui est démarrée, donc les sessions sont séparées.
 
mais ce paramètre (impossible de mettre la main dessus sous IE7, il a dû disparaître), il est possible d'indiquer que toutes les fenêtres de IE tournent dans le même processus (donc la même instance). l'intérêt du truc, c'est que ça bouffe 10000000000000000 fois moins de mémoire, par contre, si une fenêtre plante, c'est toutes les fenêtres qui se ferment avec. dans ce cas, même en passant par le bureau, tant qu'une fenêtre est ouverte, on conserve la même session.
 
attention : tant que la fenêtre de IE n'est pas fermée, même si on a quitté le site, la session reste récupérable en retournant sur le site.
 
voilà, j'espère que ça va pouvoir t'éclairer un peu.

Reply

Marsh Posté le 12-04-2007 à 15:08:23    

ps : pour savoir comment il travaille, ouvre plusieurs fenêtre de IE à l'aide du menu démarrer. si un seul process iexplore.exe apparaît dans le gestionnaire des tâches, alors il travaille en mono-process (ce n'est pas le fonctionnement par défaut).

Reply

Marsh Posté le 12-04-2007 à 15:38:06    

1) non, il n'a pas fermé la précédente. Il a cliqué-droit sur un lien de l'ihm de l'appli
2) -> la bonne réponse est la b)
 
j'avais jamais fait attention à la différence du nb de iexplorer.exe suivant qu'on ouvrait IE à partir de son icône ou via [clic-droit/open/target).
 
En l'occurrence, qq soit la manière d'ouvrir une nouvelle fenêtre d'IE, l'utilisateur retrouve sa session tant que 10h ne se sont pas écoulées depuis la dernière manip qu'il a réalisée sur l'appli.
 
Merci pour ton aide, ça m'aura au moins fait gagner 20 à 30 Mo de ram le fait d'avoir qu'1 iexplorer au lieu de plusieurs :)

Reply

Marsh Posté le 12-04-2007 à 21:30:29    

J'imagine que cet utilisateur sur une autre machine ne pose pas de problème :??:

Reply

Marsh Posté le 13-04-2007 à 10:54:22    

comme sous FF ça marchait, on n'a pas poussé les tests plus loins, lui comme moi avions d'uatres chats à fouetter...

Reply

Sujets relatifs:

Leave a Replay

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