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 03/09/2007, 09h35   #1
Invité régulier
 
Étudiant
Inscription : septembre 2007
Messages : 15
Détails du profil
Informations personnelles :
Âge : 22
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2007
Messages : 15
Points : 7
Points : 7
Envoyer un message via MSN à Babacooll
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
Babacooll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 10h52   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
avant d'appeler "session_start" mets le code suivant :
Code :
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
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 10h57   #3
Invité régulier
 
Étudiant
Inscription : septembre 2007
Messages : 15
Détails du profil
Informations personnelles :
Âge : 22
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2007
Messages : 15
Points : 7
Points : 7
Envoyer un message via MSN à Babacooll
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
Type de fichier : php index.php (1,6 Ko, 4 affichages)
Type de fichier : php sessions.php (2,3 Ko, 3 affichages)
Type de fichier : php connection.php (2,5 Ko, 2 affichages)
Babacooll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 11h15   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
à 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
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 11h20   #5
Invité régulier
 
Étudiant
Inscription : septembre 2007
Messages : 15
Détails du profil
Informations personnelles :
Âge : 22
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2007
Messages : 15
Points : 7
Points : 7
Envoyer un message via MSN à Babacooll
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
Babacooll 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 00h14.


 
 
 
 
Partenaires

Hébergement Web