Histoire de session sous IE

Histoire de session sous IE - PHP - Programmation

Marsh Posté le 05-10-2006 à 17:37:18    

lu,
 
Je viens de "découvrir" quelque chose qui me laisse perplexe. IE en fonction de l'host pomme la session. Je m'explique :
 
J'ai 2 hosts différents :
- http://localhost
- http://monsite.local
 
Les 2 pointent vers 127.0.0.1, C:\sitesweb.
 
J'ai 2 fichiers test1.php et test2.php à la racine de C:\sitesweb.
 
Dans test1.php, j'enregistre une chaine en session, dans test2, je la lis.
 
http://localhost/test1.php et http://localhost/test2.php  => ma session marche
http://monsite.local/test1.php et http://monsite.local/test2.php => ma session marche pas !!!
 
Aucun problème sous Firefox et Opera.
 
Avouez que c'est quand même fort !
 
(J'ai essayé sur une autre machine, même constat)
 
Need backup.


Message édité par lalex le 05-10-2006 à 17:37:55
Reply

Marsh Posté le 05-10-2006 à 17:37:18   

Reply

Marsh Posté le 05-10-2006 à 17:50:28    

C'est tout à fait logique vu que IE mets le nom de domaine dans le fichier de cookie et que si t'as pas l'identifiant de session dans l'adresse, c'est qu'il se trouve dans le fichier de session.
 
Pour opéra et firefox, tous les cookies sont stocké dans le même fichier, ca doit être pour ça qu'ils ont pu prendre en compte le cas particulier du "plusieurs domaines qui pointent vers 127.0.0.1". Par contre, tu essayes de faire pareil avec une IP classique (par exemple une IP free) tu véras qu'aucun des trois navigateurs ne va partager la session entre les différents nom de domaines correspondant à cette IP free.

Reply

Marsh Posté le 06-10-2006 à 10:05:12    

Ben je suis bien d'accord mais ta réponse ne me satisfait pas à 100%...
 
Je réexplique différemment le symptôme :
 
Mon fichier test1.php :
 

Code :
  1. <?php
  2. session_start();
  3. print("test 1<br/><br/>" );
  4. print("<pre>" );
  5. print_r($_SESSION);
  6. print("</pre>" );
  7. $_SESSION["test" ] = "lol";
  8. print("<pre>" );
  9. print_r($_SESSION);
  10. print("</pre>" );
  11. ?>


 
Je lance http://monsite.local/test1.php.
 
Sortie soue IE :
 

Code :
  1. test 1
  2. Array
  3. (
  4. )
  5. Array
  6. (
  7.     [test] => lol
  8. )


 
 
Sortie sous FF & Opéra :
 

Code :
  1. test 1
  2. Array
  3. (
  4.     [test] => lol
  5. )
  6. Array
  7. (
  8.     [test] => lol
  9. )


 
 
J'ai beau refresh sous IE, à chaque F5 la session disparait totalement.
Même test avec http://localhost/test1.php qui pointe exactement vers le même fichier, plus de soucis.
 
Je précise que mes différents hosts sont crés sous Windows en modifiant le fichier host. J'ai créée des alias via mon DNS Active Directory, même topo. Là j'installe un serv linux + DNS pour checker. Dixit un pote, ça marche...
 

Reply

Sujets relatifs:

Leave a Replay

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