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 :

[Cookies] Deux cookies de session pour un même site?!


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    die(print_r($_COOKIE,true));
    ensuite j'appel la page "http://test.monsite.com/identification/" ce qui me donne l'affichage suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 .

  2. #2
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut
    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.

Discussions similaires

  1. Deux diagrammes de classes pour une même application
    Par Hello_World dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 13/09/2009, 11h08
  2. Réponses: 19
    Dernier message: 19/08/2009, 17h07
  3. [1.x] Deux bases de données pour un même projet
    Par NVCyril dans le forum Symfony
    Réponses: 1
    Dernier message: 02/05/2008, 14h31
  4. Éviter plusieurs sessions pour un même utilisateur
    Par Evocatii dans le forum Langage
    Réponses: 7
    Dernier message: 31/03/2008, 14h19
  5. Peut-on avoir deux fichier .htaccess pour 2 urlrewriting différents pour 1 même site
    Par JackBeauregard dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 30/09/2006, 08h35

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