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] Sessions dans différents dossiers


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut [Cookies] Sessions dans différents dossiers
    Bonjour à tous ,

    alors j'ai cherché sur Google et sur le moteur de rechercher de Dvlpz.com mais je n'ai rien trouvé de vraiment conséquent pour résoudre mon problème :/

    Je précise tout d'abord que je suis chez l'hébergeur Jexiste (si ca peut avoir une quelconque importance ).

    Voilà mon problème :

    La base de mon site est un fichier index.php d'où j'effectue plusieurs includes.
    J'ai définit mon session_start(); en haut de ce fichier.

    Ensuite j'include mon fichier "/include/sessions.php" (où j'ai placé un petit echo $_SESSION['id_m'] en haut pour vérifier que mes sessions me suivent bien ^^).

    Jusque là aucun problème, rien ne s'affiche et c'est normal.

    Ensuite j'ai fait un include (selon la valeur de $_GET['page']) de "/pages/connexion.php" qui le remplit la superglobale $_SESSION (dont la valeur id_m). Si je fais un echo à la fin de mon fichier "/pages/connexion.php" et bien ma superglobale $_SESSION est bien pleine ...

    Le problème est que quand je change de page et que je reviens sur l'index et bien mon echo présent dans /include/sessions.php ne m'affiche rien du tout :/

    C'est comme si mes sessions créées dans /pages/ se limitaient à /pages/ (est-ce normal? ..) et comment peut-on régler ce problème?
    Ni un echo présent sur index.php d'ailleurs.


    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 379
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 379
    Points : 15 731
    Points
    15 731
    Par défaut
    avant d'appeler "session_start" mets le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session_set_cookie_params(0, '/');
    le "/" indique que la session est valable depuis la racine du site et pour le "0" je te laisse regarder dans la documentation :
    http://php.net/session_set_cookie_params

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Je suis désolé mathieu mais ca ne marche pas :S

    Je vais te mettre les codes des fichiers les plus importants, peut-être que tu y verras un peu plus clair que moi :/ :

    (Index.php)
    (/pages/connection.php)
    (/include/sessions.php)

    Donc si tu trouve d'où vient mon problème :S (Ou si tu vois encore des choses à améliorer dans le code ^^' Je suis dispo )..

    Merci Mathieu
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 379
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 379
    Points : 15 731
    Points
    15 731
    Par défaut
    à quoi sert tes cookies ? il y a plusieurs endroits où tu détruis ta session, peut-être que le problème est là

    je viens de voir qu'à un moment tu mets le mot de passe dans un cookie, ce n'est pas très sécurisé parce que le contenu des cookies est envoyé au navigateur contrairement aux sessions

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    En fait le but est de permettre une connexion via les sessions pures (donc destruction à la fermeture du navigateur) ou une connexion à plus longue échelle (transmission des données via $_SESSION mais on garde l'identifiant dans les cookies + le pass).

    Pour le pass je ne vois pas le problème .. Vu que j'utilise la technique du grain de sel dans inscription.php, le sha1 qu'on enregistre dans le cookie n'est pas le hashage du pass réel, mais du pass concaténé avec une chaine de 10 chiffres écrie en clair dans la BDD...

    En fait le code de session.php, vérifie :

    * Si l'un des 2 cookies est inexistant mais que l'autre est présent : Destruction de l'autre cookie + fermeture de la session ..

    * Si les 2 cookies sont présents : - Si id_c et pass_c sont corrects : OK
    - Sinon : Destruction 2 cookies et de la session ..

    * Si aucun cooki n'est présent mais que la session est ouverte, on update juste les infos de $_SESSION ..

    Donc, le problème vient du fait que mes sessions ne se transmettent toujours pas entre pages vu que si je me connecte sans les cookies (sessions pures) et bien dans sessions.php, on atteint jamais la 3ème * (cfr. ci-dessus)..


    Je ne sais pas si tu me comprends bien =P

Discussions similaires

  1. copie de fichiers dans différents dossiers
    Par mig87 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 02/09/2011, 08h56
  2. suppression des fichiers text dans différents dossiers
    Par guefrachi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/07/2010, 11h26
  3. Rassembler les applis django dans différents dossiers
    Par jacquesdx dans le forum Django
    Réponses: 1
    Dernier message: 16/10/2009, 10h58
  4. Réponses: 7
    Dernier message: 15/09/2008, 10h44
  5. [Cookies] Session dans un iframe sur ie7
    Par Invité dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2008, 14h30

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