Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1410 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Pb de session avec Mozilla mais pas IE/NS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb de session avec Mozilla mais pas IE/NS

n°390154
Rasta Knig​ht
Houston, I've got a problem
Posté le 12-05-2003 à 11:09:38  profilanswer
 

Bonjour tout le monde :hello:
J'explique mon chtit problème, je suis en train de développer un ptit site web sur lequel  
les personnes connectées peuvent être de différent "type", chaque "type" pouvant accéder
à certaines pages et pas à d'autres. Mon authentification se base sur des sessions PHP4
et marche nickel sous IE 5, 6 ou Netscape 4.78 mais sous Mozilla, il "oublie" mes variables
de  session :cry: Résultat, l'utilisateur se fait bouler :sweat: Mon ami Google ne m'ayant
pas fourni d'infos comme quoi ces navigateurs se comporteraient différement, auriez-vous une
idée?  
PS : je bosse en register_globals = off
 
Le code d'une page "classique" :

Code :
  1. <?session_start();
  2. include("../../include/fonctions.inc.php" );
  3. echo('<html><title></title><body>');
  4. if (acces("A" )) // l'user a droit de passer que si il est de type "A"
  5. {
  6. //j'affiche ma page
  7. }
  8. else
  9. {
  10. non_axx(); //dis_poliment au monsieur qu'il a rien à faire là
  11. }
  12. ?>
  13. </body>
  14. </html>


 
Le code de la fonction "acces" :

Code :
  1. function acces($type)
  2. {
  3. $passage=FALSE;
  4. if (isset($_SESSION["tab_cat"]))
  5. {
  6.   $tab_cat=$_SESSION["tab_cat"];
  7.   $nb_cat=$_SESSION["nb_cat"];
  8.   for ($i=1;$i<=$nb_cat;$i++)
  9.   {
  10.    if ($tab_cat[$i]==$type)
  11.    {
  12.     $passage=TRUE;
  13.    }
  14.   } 
  15. }
  16. return $passage;
  17. }


 
et enfin le code de la partie où je déclare mes variables d'authentification :

Code :
  1. <?session_start();
  2. include("./include/fonctions.inc.php" );
  3. echo("<html><title></title><body>" );
  4. $login=$_POST['login'];
  5. $ip=$REMOTE_ADDR;
  6. $req_acces="select login,ip,categorie, mot_de_passe_actif, compte_actif from identification where login=\"$login\" AND ip=\"$ip\" and compte_actif=\"1\"";
  7. connex(); //conexion à ma base
  8. //on détermine le nombre de personnes correspondant à ce nom, cette adresse IP et étant "activée"
  9. $res_acces=mysql_query($req_acces);
  10. deconnex(); //déconnexion
  11. $nb_cat=mysql_num_rows($res_acces);
  12. if($nb_cat>0)
  13. //cas où au moins une personne répond à ces exigences
  14. {
  15.   $tab_cat=array();
  16.   $i=1;
  17.   while($tab=mysql_fetch_array($res_acces))
  18.   //on récupère les données nécessaires pour la suite de ce script
  19.   {
  20.    $tab_cat[$i]=$tab["categorie"];
  21.    $nom=$tab["login"];
  22.    $i++;
  23.   }
  24.    //on stocke les données nécessaires en variable de session
  25.    echo("Vous êtes loggé." );
  26.    $_SESSION["nb_cat"]=$nb_cat;
  27.    $_SESSION["tab_cat"]=$tab_cat;
  28.    $_SESSION["login"]=$login;
  29.    stocke_nom($nom);
  30. }


Bien entendu, si il y a de gros problèmes de sécu dans mon système, hésitez pas à me le dire ;)
 
Merci d'avance :jap:


Message édité par Rasta Knight le 12-05-2003 à 11:12:37

---------------
Le tout c'est d'y croire! DaBZHWDT site : www.setibzh.com
mood
Publicité
Posté le 12-05-2003 à 11:09:38  profilanswer
 

n°390338
Rasta Knig​ht
Houston, I've got a problem
Posté le 12-05-2003 à 13:23:44  profilanswer
 

question sans réponse ou question mal posée?


---------------
Le tout c'est d'y croire! DaBZHWDT site : www.setibzh.com
n°390342
samuelp
Posté le 12-05-2003 à 13:30:58  profilanswer
 

Cela vient du fait que tu mets des tableaux dans les variables de session.
 
 
Si tu ne fais pas un session_register("tavariable" ) avant affectation ça partira toujours en couille. Comme Mozilla est codé avec les pieds, celui-ci ne les detectera pas. Donc utilises session_register

n°390353
Sh@rdar
Ex-PhPéteur
Posté le 12-05-2003 à 13:41:42  profilanswer
 

n'importe quoi...
 
aucun rapport entre le code PHP exécuté coté serveur et le client !!!
 
je dirais que ça peut venir d'un mauvais paramétrage du cookie de session qui transmet le SID (voir le paramètre path)
 
si tu affiches le session_id() et que sous Moz il change à chaque refresh / page alors c'est bien ça, il ne connait pas le SID et redémarre une nouvelle session à chaque fois.


Message édité par Sh@rdar le 12-05-2003 à 13:42:16

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°390354
samuelp
Posté le 12-05-2003 à 13:44:03  profilanswer
 

Sh@rdar a écrit :

n'importe quoi...
 
aucun rapport entre le code PHP exécuté coté serveur et le client !!!
 
je dirais que ça peut venir d'un mauvais paramétrage du cookie de session qui transmet le SID (voir le paramètre path)
 
si tu affiches le session_id() et que sous Moz il change à chaque refresh / page alors c'est bien ça, il ne connait pas le SID et redémarre une nouvelle session à chaque fois.


 
Rien a voir avec le chocolat : si ça venait du serveur que tu sois sous IE ou Mozilla ça serait la meme chose, quand on sait pas on se tait !

n°390360
ethernal
Chercheur de vérité...
Posté le 12-05-2003 à 13:48:01  profilanswer
 

tu m'a devancé Sh@rdar :lol:
 
samuelp> je dirais qu'à la limite un serialize/unserialize pourrait être utile, mais ce n'est pas la cause du problème.
 
Regarde si dans la config de Mozilla, il accepte les cookies de sessions.


---------------
...oups kernel error...
n°390363
Sh@rdar
Ex-PhPéteur
Posté le 12-05-2003 à 13:51:26  profilanswer
 

samuelp a écrit :


 
Rien a voir avec le chocolat : si ça venait du serveur que tu sois sous IE ou Mozilla ça serait la meme chose, quand on sait pas on se tait !


 
tu m'explique en quoi Moz gère les tableaux de variables de session PHP différemment de IE ?
 
PHP c'est coté serveur, la gestion des tableaux de variable n'a RIEN a voir avec le navigateur, tu crois que certains brouteurs sont php compliant ?? :lol: :lol:  
 
 
par pitié arrête de raconter n'importe quoi


Message édité par Sh@rdar le 12-05-2003 à 13:52:48

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°390370
samuelp
Posté le 12-05-2003 à 13:55:01  profilanswer
 

Sh@rdar a écrit :


 
tu m'explique en quoi Moz gère les tableaux de variables de session PHP différemment de IE ?
 
PHP c'est coté serveur, la gestion des tableaux de variable n'a RIEN a voir avec le navigateur
 
par pitié arrête de raconter n'importe quoi


 
Mais  ce n'est pourtant pas compliqué  :heink:  
Si le monsieur utilise les cookies de session faut bien stocker ces cookies quelque part, et ce sera certainement pas sur le serveur  :heink:  
 
 Afin de pour faire la comparaison cookie client / donnees serveur Mozilla utilise l'algorythme de Nali qui permet d'extroquer une chaine de caracteres a partir d'une certaine structure. Si cette structure est corrompue du fait que la serialisation ou la registration n'a pas eu lieu alors Mozilla considere comme corrompue cette donnee.
 
D'ou l'erreur....

n°390375
Sh@rdar
Ex-PhPéteur
Posté le 12-05-2003 à 13:57:38  profilanswer
 

bon alors réfléchis 2 secondes à ce qu'il y a dans le cookie....
 
il n'y a pas les infos de session ! mais juste l'identifiant qui permettra de les récuperer sur le dd du serveur !
 
la sérialization ne touche pas au cookie du client ! le cookie est envoyé en début de session avec l'entête HTTP correspondante (celle qui provoque les erreurs en cas de sortie) la sérialization et l'écriture se font en fin de script et le cookie est généré depuis belle lurette !
 
je te retourne donc ta remarque : quand on sait pas on se tait !


Message édité par Sh@rdar le 12-05-2003 à 13:59:46

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°390376
Rasta Knig​ht
Houston, I've got a problem
Posté le 12-05-2003 à 13:58:03  profilanswer
 

samuelp> Je confirme que c'est pas dû au tableau car une autre version sans la variable "tab_cat" a exactement le même problème.
 
HotShot>"C'est pas plutôt que ca serait du code M$-Internet Explorer-compliant" euh si c'est le cas c'est pas fait exprès, en quoi est-ce MS-Compliant?
 
les autres> J'ai pas compris grand chose à ce que vous racontez :D


---------------
Le tout c'est d'y croire! DaBZHWDT site : www.setibzh.com
mood
Publicité
Posté le 12-05-2003 à 13:58:03  profilanswer
 

n°390381
samuelp
Posté le 12-05-2003 à 14:00:44  profilanswer
 

Sh@rdar a écrit :

bon alors réfléchis 2 secondes à ce qu'il y a dans le cookie....
 
il n'y a pas les infos de session ! mais juste l'identifiant qui permettra de les récuperer sur le dd du serveur !
 
la sérialization ne touche pas au cookie du client ! le cookie est envoyer en début de session avec l'entête HTTP correspondante (celle qui provoque les erreurs en cas de sortie) la sérialization et l'écriture se font en fin de script et le cookie est généré depuis belle lurette !
 
je te retourne donc ta remarque : quand on sait pas on se tait !


 
  Veux tu qu'on en discute plus longuement ? Sais tu au moins programmer ? (on dirait pas) : le session_register c pas pour les chiens

n°390382
Sh@rdar
Ex-PhPéteur
Posté le 12-05-2003 à 14:00:46  profilanswer
 

vérifies que tu n'as pas activé le blocage de cookie dans Moz
 
vérifie aussi que tu récupère bien ton id de session si passage par URL
 
tu dois récupérer obligatoirement un $_GET['nom_de_ta_session']


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°390384
Sh@rdar
Ex-PhPéteur
Posté le 12-05-2003 à 14:02:18  profilanswer
 

samuelp a écrit :


 
  Veux tu qu'on en discute plus longuement ? Sais tu au moins programmer ? (on dirait pas) : le session_register c pas pour les chiens


 
[:plat00n] j'abandonne t'es trop bête


Message édité par Sh@rdar le 12-05-2003 à 14:02:35

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°390385
Rasta Knig​ht
Houston, I've got a problem
Posté le 12-05-2003 à 14:02:56  profilanswer
 

Sh@rdar> Cookies non bloqués, et pas de passage par URL :/


---------------
Le tout c'est d'y croire! DaBZHWDT site : www.setibzh.com
n°390389
samuelp
Posté le 12-05-2003 à 14:04:54  profilanswer
 

Sh@rdar a écrit :


 
[:plat00n] j'abandonne t'es trop bête


 
Tu es borné, retournes faire du VB !

n°390392
Sh@rdar
Ex-PhPéteur
Posté le 12-05-2003 à 14:06:01  profilanswer
 

refuse les cookies sous IE, si ça fait pareil qu'avec Moz tu connait le problème


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°390398
ethernal
Chercheur de vérité...
Posté le 12-05-2003 à 14:09:10  profilanswer
 

samuelp a écrit :


 
Tu es borné, retournes faire du VB !


 
pour commencer, lis les 3 premiers encadrés :
http://www.php.net/manual/en/funct [...] gister.php


---------------
...oups kernel error...
n°390399
Sh@rdar
Ex-PhPéteur
Posté le 12-05-2003 à 14:09:54  profilanswer
 

HotShot a écrit :

En tout cas, je pars du principe que si qqch foire dans l'histoire, ça doit être IE... Mozilla qui supporterait pas un cookie :pt1cable:  


 
mozilla a des problèmes avec les cookies sans path...  
 
véridique j'ai eu le problème sur ma boutique en ligne.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°390401
samuelp
Posté le 12-05-2003 à 14:11:58  profilanswer
 

ethernal a écrit :


 
pour commencer, lis les 3 premiers encadrés :
http://www.php.net/manual/en/funct [...] gister.php
 


 
On peut pas troller 5 minutes ?  [:tapai]

n°390410
ethernal
Chercheur de vérité...
Posté le 12-05-2003 à 14:14:44  profilanswer
 

samuelp a écrit :


 
On peut pas troller 5 minutes ?  [:tapai]


:lol: :lol: si [:the grosminet] :D


---------------
...oups kernel error...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Pb de session avec Mozilla mais pas IE/NS

 

Sujets relatifs
[PHP]pbavec les $_SESSION[' '][PHP] Ouvrir une session utilisateur
détruire une session à la fermeture du navigateur !?! (réponse inside)[mozilla] debugueur JS de la mort qui tue!
[php]Warning:Cannot send session cache limiter - headers already sent[PhP et Free] Session_start et header location
Quand est ce que Mozilla sera CSS 1 compliant ?[PHP] Probleme pour supprimer une variable de session
[XHTML 1.0 tr]Centré sur IE et Mozilla, mais pas sur IE Mac ???Grosse variable de session, est-ce bien
Plus de sujets relatifs à : Pb de session avec Mozilla mais pas IE/NS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR