IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Variables de sessions non affichées sous Firefox


Sujet :

Langage PHP

  1. #21
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Le comportement de PHP NE CHANGE PAS selon le navigateur utilisé !
    PHP est un langage SERVEUR, le navigateur c'est le CLIENT.

    S'il y a une différence de comportement entre 2 navigateurs, le probleme ne peut PAS venir de PHP mais d'une communication entre les deux... a savoir Javascript ou HTML, qui sont les seuls langages "executés" coté client.

    Par exemple :
    * Si tu remplis tes variables de session avec des variables en POST et que tu as utilisé des id="..." au lieu de name="..." => ca va marcher sous IE et pas sous FF. Pourtant c'est FF qui a raison.
    * Si tu utilises HTTP_REFERER, HTTP_USER_AGENT ou toute variable venant du navigateur (pour protéger ta session du vol de session ou autre), le comportement peut différer... mais il ne faut pas avoir une confiance absolue dans ces variables

    Donc le mieux c'est d'essayer de créer un code "épurée" reproduisant le probleme. (soit a partir de rien, soit a partir de ton code existant en mettant le maximum de trucs en commmentaire et le maximum de valeurs "en dur")
    A un moment donné, tu va obtenir quelque chose qui marche et tu aura trouvé la source du probleme (et ca ne sera pas PHP ^^)

  2. #22
    Membre éprouvé Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Points : 1 080
    Points
    1 080
    Par défaut
    Euh oui ça je sais bien...!

    Dans mon cas la chose qui était étrange c'était que ce la marchait sur certains postes avec Firefox (2), et pas IE. Et que maintenant cela marche partout!

    Et perso, mes champs de formulaire contiennent toujours "name=" et "id="

  3. #23
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    print_r($_SESSION) me renvoie également un array vide.

    Lorsque je recharge la page (F5), il me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [nom] => [prenom] => [telephone] => [email] => )
    Mes champs de formulaires contiennent à la fois le "name" et l'"id"...

    En ce qui concerne le code, c'est juste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php session_start(); ?>
    Rien d'autre.

    Ensuite, je récupère mes variables de manière toute simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nom =  $_POST["nom"];
    $_SESSION["nom"] = $nom;
    Et je fais apparaître par un tout bête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <? echo $_SESSION['telephone']; ?>
    Quand je fais Il me renvoie bien un id de session...

    Rien d'exotique, rien de particulier...

    Est-ce que ça pourrait être un "réglage" du serveur qui autoriserait certaines choses et pas d'autres, que justement Firefox utiliserait ?

    Merci de votre aide !

  4. #24
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut C'est la feuille de style !
    Alors là trop fort !!!

    J'ai fait comme fladnag avait conseillé : essayer de créer un code épuré.
    Et là, le passage de session avec firefox fonctionne parfaitement !

    J'ai donc enlevé et remis petit à petit tout mon code dans ma "page propre".

    Et j'ai découvert que c'est ma feuille de style qui bloquait les sessions !
    Je n'ai aucune idée de la manière dont une feuille de style peut faire ça, mais j'avais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    body {
    	background-image: url(); 
    }
    Je l'ai enlevé (ulr (); vide, c'est pô bien ).

    Et les Sessions fonctionnent, miraculeusement.

    Merci à tous pour vos conseils, en tout cas.

  5. #25
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    sympatique bug en effet ^^

    Mais comme tu vois, on fini toujours par trouver d'ou ca vient...

    Comme le dit le dicton :
    Des tests lents et méthodiques vous feront parvenir à un point où vous pourrez localiser le bug, ou devenir fou. Peut-être les deux.
    Bon, sinon je pense que l'url vide provoque un chargement de page dans firefox et pas sous IE.
    La page "vide" qui est appelée est soit la page courante, soit une page 404 personnalisée définie dans un htacces, soit l'index... dans tout les cas, le chargement de la page en question "reset" la session (comme si tu avais appelé une page sans session_start()) provoquant "l'effacement" de la session, en fait la "non propagation" de l'ID de session, ce qui fait que sur ta 2eme page, tu affiches en fait les variables d'une AUTRE session ;o)

  6. #26
    Membre éprouvé Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Points : 1 080
    Points
    1 080
    Par défaut
    Je pense que cela vient de là en effet ça peut être plus qu'une bonne raison qui expliquerait ce comportement différent selon les navigateurs.
    J'avais procédé par étape aussi pour régler ce problème, je ne me souviens plus ou j'avais trouvé le bug mais ça m'étonnerait pas que cela vienne de là en effet.

    Bravo quand même, il en faut de la patience pour des bugs comme ça lol!

  7. #27
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut hou punaise
    J'avais le même problème et étais sur la pente menant directement à la folie meurtrière. Un projet urgentissime et une nuit blanche en perspective.
    Et la solution est là, toute simple, tout au bout du forum...

    La puissance des forums, couplée à celle des moteurs de recherche est mon nouveau Dieu. J'y crois, et je prie chaque soir à compter de ce jour.
    Sans vous connaître, je suis votre obligé et louerai votre sens du débbuggage jusqu'à la fin de mes jours.

    Merci les gens, je vous aime.

  8. #28
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    Encore une fois, un problème similaire a été rencontré.

    Depuis la mise à jour de Firefox en version 20, la mise à jour de données de session, via un fichier appelé par ajax, ne se faisait plus.

    En fait, dans le menu, où un clic déclenchait la fonction javascript d'appel du fichier php via ajax, j'avais laissé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="" onclick="deconnexion()">
    .
    C'est en voyant le problème d'url vide cité précédemment, que j'ai cherché de ce côté-là et, en quelques minutes, j'ai trouvé l'origine de mon problème; il suffit de supprimer le href="".
    En espérant que ça puisse aider d'autres personnes...

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Incompréhension] Formulaire non affiché sous Firefox
    Par slobberbone dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/12/2012, 15h36
  2. Code non fonctionnel sous Firefox
    Par linar009 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 24/07/2006, 17h13
  3. Réponses: 3
    Dernier message: 10/05/2006, 11h54
  4. CSS non reconnues sous Firefox et Netscape
    Par rockingstone dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 07/04/2006, 22h20
  5. [CSS] Pb de css non compatible sous Firefox
    Par laurentdusseau dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 14/09/2005, 18h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo