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
die(print_r($_COOKIE,true));
ensuite j'appel la page "http://test.monsite.com/identification/" ce qui me donne l'affichage suivant
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
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) :
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 :
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) :
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 .
Partager