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 22/03/2006, 16h27   #1
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 0
Points : 0
Par défaut [Sécurité] problème désactivation variables session

Bonjour à tous,

J'ai un problème concernant mes sessions : j'ai créé des variables sessions dans un site contenant des frames, j'ai passé tous les id de session dans le get, tout fonctionne impecablement tant que mes pages ne se trouvent pas dans une frame. A partir du moment où elles s'y trouvent, il m'est impossible de garder une variable session sur 2 pages consécutives. J'ai par contre remarqué que ce sont les cookies de sessions qui sont bloqués par IE (toujours dans le cas des frames) car dès que j'autorise tous les cookies sur IE, le problème est règlé. Seulement j'ai fait en sorte comme je l'ai dit précédemment de faire passer la session ID dans le GET et IE me recherche toujours les informations dans le cookie de session. Je vous laisse mes morceaux de codes pour être plus précis :

La première page :
Code :
1
2
3
4
5
6
7
8
9
10
11
<?
	ini_set('session.use_cookies', '0');
 
	session_start();
	$id_session = session_id();
 
	$_SESSION['test_var'] = "test";
 
	echo "<a href='ses.php?sid=".$id_session."'>page 2</a>";
 
?>

et sur la seconde page, ma variable $_SESSION['test_var'] est null quand je la dump
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
	ini_set('session.use_cookies','0');
 
	if (isset($_GET['sid']))
	{
		session_id($_GET['sid']);
		session_start();
 
		echo 'variable session  : ';
		var_dump($_SESSION['test_var']);
 
	}
	else
	{
		echo 'Votre session à expirée, veuillez la réinitialiser en cliquant <a href="index.php">ici</a>';
	}
 
 
 
?>
Un peu d'aide serait la bienvenue
Merci d'avance
aleks2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 16h34   #2
Membre éclairé
 
Avatar de nicoaix
 
Homme
Chef de projet MOA
Inscription : décembre 2004
Messages : 561
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2004
Messages : 561
Points : 325
Points : 325
Salut,
Je ne vois pas bien l'intérêt de passe une variable de session par la méthode GET?
Essaie sans passer par la méthode get.
nicoaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 16h55   #3
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 0
Points : 0
L'intérêt en ce qui me concerne est d'avoir un maximum d'utilisateurs pouvant aller sur le site sans problème ... Si je passe par la méthode des cookies, par défaut IE les bloquent et donc provoque des erreur dans les sessions . Si il y a une autre solution je suis preneur.
Merci d'avoir répondu
aleks2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 17h09   #4
Membre éclairé
 
Avatar de nicoaix
 
Homme
Chef de projet MOA
Inscription : décembre 2004
Messages : 561
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2004
Messages : 561
Points : 325
Points : 325
Ben pour ma part j'utilise des variables de sesssion mais je n'utilise pas de get pour les récupérer...

si tu as déclaré une variable de session 'x' alors $ma_var = $_SESSION['x'];
suffit à récupérer la valeur de ta variable (sans passer par un get).
nicoaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2006, 17h20   #5
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 0
Points : 0
Je précise que je fais pas passer les variables sessions en elles même par le GET, mais l'ID de la variable session ( session_id() ). J'arrive bien a faire passer cet ID de session de pages en pages (j'obtiens d'ailleur toujours le même ID), la seule chose qui ne passe pas ce sont les variables sessions.
La solution que j'ai trouvé est d'accepter tous les cookies dans IE (mais je trouve cette solution pas très bonne de demander au visiteur de modifier directement sa configuration). Est ce qu'il existe une méthode pour esquiver ce problème ?
aleks2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h15.


 
 
 
 
Partenaires

Hébergement Web