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é] Problème $_SESSION et mozilla firefox


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [Sécurité] Problème $_SESSION et mozilla firefox
    Bonjour à tous!

    Je rencontre un petit problème avec la variable $_SESSION et Mozilla firefox.

    Je précise que je suis hebergé chez online.net

    Je m'explique:

    Je suis en train de créer un site, et j'utilise une variable de type: $_SESSION pour créer une zone membre. Le problème est que sur internet explorer, tout fonctionne bien, la variable de session est retenue sur toutes les pages, tandis que sur Mozilla Firefox, ma variable de session ne fonctionne pas, elle enregistre quelque chose de vide.

    Voici l'adresse où vous pouvez tester ce "phénomène":

    www.satination.com

    Au cas où celà pourrait vous aider, voici le codage de mes pages:



    Index.php
    <?
    session_start();
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title>Test connexion --- Accueil ---</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="" href="" />
    </head>

    <body>

    <?
    include("menu_connexion.php");
    ?>

    </body>
    </html>
    Menu connexion.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="" href="" />
    </head>

    <body>

    <?
    if(isset($_SESSION['pseudo']) AND ($_SESSION['pseudo'] != NULL))
    {
    ?>
    <p>Vous êtes connecté en tant que <? echo $_SESSION['pseudo']; ?>.</p>
    <p><a href="deconnexion.php">Deconnexion</a></p>
    <p><a href="page.php">Page</a></p>
    <?
    }
    else
    {
    ?>
    <p>Vous n'êtes pas connecté actuelement.</p>
    <p><a href="connexion.php">Connexion</a></p>
    <p><a href="page.php">Page</a></p>
    <?
    }
    ?>

    </body>
    </html>
    Connexion.php

    <?
    session_start();
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title>Test --- Connexion ---</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="" href="" />
    </head>

    <body>

    <form action="connexion.php" method="post">
    <p>Pseudo: <input type="text" name="pseudo" /></p>
    <p><input type="submit" value="envoyer" /></p>
    </form>

    <?
    if(isset($_POST['pseudo']))
    {
    $pseudo = $_POST['pseudo'];
    }
    else
    {
    $pseudo = "";
    }

    if($pseudo != NULL)
    {
    $_SESSION['pseudo'] = $pseudo;
    ?>
    <script language="JavaScript">
    setTimeout("window.location='index.php'",0);
    </script>
    <?
    }
    ?>

    </body>
    </html>
    Page.php

    <?
    session_start();
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="" href="" />
    </head>

    <body>

    <?
    if(isset($_SESSION['pseudo']))
    {
    ?>
    <p>Vous êtes actuelement connecté sur la page 1 en tant que: <? echo $_SESSION['pseudo']; ?>.</p>
    <?
    }
    elseif(!isset($_SESSION['pseudo']))
    {
    ?>
    <p>Vous n'êtes pas connecté actuelement</p>
    <?
    }
    ?>

    <p><a href="index.php">Retour à l'index</a></p>

    </body>
    </html>
    Deconnexion.php

    <?
    session_start();
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="" href="" />
    </head>

    <body>

    <?
    session_destroy();
    ?>

    <script language="JavaScript">
    setTimeout("window.location='index.php'",0);
    </script>

    </body>
    </html>
    Je précise que mes tests étaient effectués en local avec Mozilla Firefox et que tout marchait très bien.
    Je précise également que ce code n'est bien sur qu'un test et que bien entendu il ne s'agit pas de la zone membre complète!

    Est ce que celà pourrait provenir de mon hébérgement?

    Toute aide serait la bienvenue, car je ne peut pas faire un site si un navigateur pas mal utilisé quand même ne prend pas en compte ces **** de variables

    N'oubliez pas l'adresse pour aller tester ce code:

    www.satination.com

    Merci d'avance de vos réponses!

    Edit: J'ai oublié de vous dire! Sur mozilla firefox, une variable est bien enregistrée, mais vide! Sur la page page.php, vous remarquerez que la condition pour afficher la valeur de la variable, est:
    if(isset($_SESSION['pseudo'])), et que le message s'affichant est:
    vous êtes connecté actuelement en tant que .
    Ce qui me laisse supposé que la variable crée est vide.

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Chez online leurs config php est un peu serré (elle date un peu d'ailleurs...)

    http://www.online.net/support/fr/doc..._sessions.html

    Important : Pour que vos sessions 'fichiers' (mode par défaut) fonctionnent, vous devez créer un répertoire "sessions" (en minuscules sans les guillemets) à la racine de votre site Web (ou du cas échéant, de votre site Web secondaire). Sinon un message d'erreur vous signalant l'impossibilite de sauvegarder les sessions apparaitra.

    C'est sur... faut le savoir... est c'est spécifique à eux (perso, je jamais vu ça ailleurs...)

    Bonne suite

  3. #3
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Il y a un truc ENORME qui me dérange dans ton cas : Tu inclus des page html dans d'autre, ce qui au final rend ton code absolument invalide :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title>Test connexion --- Accueil ---</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="" href="" />
    </head>

    <body>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="" href="" />
    </head>

    <body>

    <p>Vous n'êtes pas connecté actuelement.</p>

    <p><a href="connexion.php">Connexion</a></p>
    <p><a href="page.php">Page</a></p>

    </body>
    </html>
    </body>
    </html>
    Dans une page html tu ne peux avoir plusieures déclarations de <head> et de <body>, je ne te parle même pas du doctype...

    faudrait changer ça...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci, mais mon répertoire sessions était déjà crée.

    Le problème vient uniquement avec mozilla firefox, mais pas avec les autres navigateurs!

    Si quelqu'un voit d'où ça pourrait venir...

    EditMerci macbook! J'avais fait ce code un peu précipitement pour faire un essai, c'est vrai que je n'avais pas fait attention! Je modifie ça tout de suite!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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