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 08/04/2008, 07h59   #1
Nouveau Membre du Club
 
Développeur Web
Inscription : février 2006
Messages : 68
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2006
Messages : 68
Points : 29
Points : 29
Par défaut [Cookies] Deux cookies de session pour un même site?!

Salut,

Me revoilà avec un autre "OVNI" .

Le contexte est des plus simple : un site exploitant les sessions pour permettre une identification de l'utilisateur qui se log via un form "banal" login/pass.

Le problème :
après avoir fait un chargement des pages (pour initialiser la session), je place la syntaxe suivante en tout début de page
Code :
die(print_r($_COOKIE,true));
ensuite j'appel la page "http://test.monsite.com/identification/" ce qui me donne l'affichage suivant
Code :
Array ( [FDOTSI_admin] => 3a4d9fe54ea993c401421fcf7df1268a )
après quoi j'appel une autre page, par exemple "http://test.monsite.com/" (ou toute autre page que celle d'identification) ce qui me donne l'affichage suivant
Code :
Array ( [FDOTSI_admin] => 5a2f615db4bb47d0700272557037fea2 )
J'ai donc très nettement deux cookies pour une même session!

Ce qui bien entendu pose un énorme problème.
En effet je suis la logique suivante, en deux temps :
- lors du chargement d'une toute autre page que celle d'identification je teste si l'utilisateur est loggé, si ce n'est pas le cas je le redirige sur la page d'identification;
- sur la page d'identification je test si l'utilisateur est loggé, si oui je le redirige sur la racine du site;

Donc là vue que dans la première session l'utilisateur est loggé mais pas dans la seconde et bien sa tourne en boucle et fini par m'afficher (sous FF) :
Code :
1
2
3
Redirection de page incorrecte
Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
*   La cause de ce problème peut être la désactivation ou le refus des cookies.
Pourtant la session est toujours initialisé de la même manière avec les même paramètres, dont voici le code :
Code :
1
2
3
4
5
6
7
8
9
$session_expire		=	null;
$session_path		=	null;
$session_domaine	=	".monsite.com";
$session_securise	=	null;
 
session_set_cookie_params($session_expire,$session_path,$session_domaine,$session_securise);
 
session_name('FDOTSI_admin');
session_start();
Et j'ai spécifié dans le ".htaccess" (selon les spécificités de mon hébergeur) :
Code :
1
2
3
4
5
6
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag magic_quotes_sybase Off
php_flag session.use_cookies On
php_flag session.use_only_cookies On
php_flag session.use_trans_sid Off
NB:
- à noter que le problème ne se pose que si j'appel en premier lieu une page type "http://admin.monsite.com/macategorie/mapage/" (qui ensuite redirige sur "http://admin.monsite.com/identification/" vue que l'utilisateur n'est pas encore loggé, puis, une fois ce dernier loggé, on tourne en boucle comme expliqué ci-dessus).
- si j'accède au site via "http://admin.monsite.com/" : aucun soucis! (le processus est pourtant le même que décrit juste ci-dessus, sauf que cette fois ci ça ne tourne pas en boucle)
- avec certains tests j'arrive même à obtenir TROIS cookies différents ... je vais m'entrainer, si ça s'trouve j'peux atteindre les 10 et établir un record (les trois différents cookies sont obtenues sur l'appel de trois pages différents en l'occurence : "/", "/identification/" et "/prive/inscriptions/formation/" [exemples réels])

Voilà, si quelqu'un peut m'éclairer .
Just est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 12h11   #2
Nouveau Membre du Club
 
Développeur Web
Inscription : février 2006
Messages : 68
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2006
Messages : 68
Points : 29
Points : 29
Visiblement mes POSTs n'inspirent personne ces temps .

Bref je viens apporter moi même quelques éléments de réponses en espérant que cela puisse servir à d'autres plus tard.

J'ai isolé le problème :
il provient visiblement de la fonction appelée avant l'initialisation de la session > "session_set_cookie_params()" et/ou de ses paramêtres.

Pas encore de réelle solution mais des bonnes pistes.
Just 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 19h28.


 
 
 
 
Partenaires

Hébergement Web