Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/03/2006, 22h23   #1
Invité de passage
 
Inscription : avril 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 5
Points : 1
Points : 1
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:



Citation:
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>
Citation:
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>
Citation:
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>
Citation:
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>
Citation:
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.
Satination est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2006, 22h29   #2
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 24
Points : 11
Points : 11
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
fastmanu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2006, 22h40   #3
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
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 :
Citation:
<!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...
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2006, 22h40   #4
Invité de passage
 
Inscription : avril 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 5
Points : 1
Points : 1
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!
Satination est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h37.


 
 
 
 
Partenaires

Hébergement Web