Les sessions comment ca marche exactement?

Signaler
Messages postés
246
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
29 décembre 2008
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour, bonjour!

Alors voila, je me pose des questions sur les sessions, j'aimerais bien avoir des informations supplementaires, pas sur son utilisation, car j'arrive à les utiliser, mais plutot comment ca fonctionne concretement.

Car lorsque j'utilise des sessions, je demarre avec session_start(), j'y ajoute des variables a ma guise ($_SESSION['var'] = ce_que_je_veux), mais apres, si plusieurs utilisateurs se connecte en meme temps sur mon site, utilisent-ils chacun leur propre session, ou alors il sont tous avec les memes?

De plus, si un meme utilisateur navigue sur deux sites heberger sur le meme serveur, et qu'il utilise des variables de sessions qui ont le meme nom sur les deux sites, est ce que 2 sessions seront créé (une pour chaque site) ou alors une seule...

Vous voyez ce que je veux dire???

7 réponses

Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
Salut,

"si plusieurs utilisateurs se connecte en meme temps sur mon site,
utilisent-ils chacun leur propre session, ou alors il sont tous avec
les memes?"
> Chaques visiteurs disposent de sa propre sessions ;-)
Une session c' est en faite un fichier qui est créer par php le nom du fichier est unique !!!
par ex : sess_314a36522820dc1e840ecc992b583ef1
le contenu varie en fonction des données :
par exemple je fait $_SESSION['variable'] = 'super texte ;-)';
donnera :
nb_reponces|i:30;variable|s:15:"super texte ;-)";

"De plus, si un meme utilisateur navigue sur deux sites heberger sur le
meme serveur, et qu'il utilise des variables de sessions qui ont le
meme nom sur les deux sites, est ce que 2 sessions seront créé (une
pour chaque site) ou alors une seule..."
> Cela dépendra du cas ....
Par exemple, le réseau CodeS SourceS est sur un meme serveur et les sessions sont valides pour tout les sites du réseau CodeS SourceS.

Alors que chez free par exemple, il faut créer un dossier sessions à la racine du site.
Et c' est ici que seront stockées les sessions. Les sessions ne seront donc pas "transferablent" d' un site (local) à un autre (local).

En général, les sessions ne sont pas "transférablent" d' un site.

@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi. 
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
Messages postés
246
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
29 décembre 2008
2
Merci beaucoup pour tes explications claires!

En fait je demande ca parce que justement, je suis en train de developper un site web et je fais egalement une partie administration. Pour ces 2 sites, j'utilise des variables de session qui ont le meme nom, et je me suis rendu compte qui parfois, lorsque je faisais certaine manip sur mon site d'administration, cela avait de drole de repercution sur mon autre site, si j'y suis connecté en meme temps.

Enfin d'apres ce que j'ai compris, le meiux, c'est encore d'utiliser des nom de variables de session different, comme ca, pas d'erreur possible...
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
"Par exemple, le réseau CodeS SourceS est sur un meme serveur et les sessions sont valides pour tout les sites du réseau CodeS SourceS."

> miracle ? php identifit l'utilisateur pour sa session par le bier d'un cookie que le client envoie en requette HTTP. Et par mesure de securité, ce cookie ne marche pas sur plusieurs domaines (en générale,ex avec firefox), donc il faut ce reidentifier sur phpcs & cppfrance par exemple.

Je suis pas rentrez dans les details en lisant les sources mais je sais que php identifie un usager par son cookie & son ip, pour l'Host (requette HTTP) je ne sais pas, mais là le client doit faire office.

En gros c'est:

Je veux la page x.php > Tien la page et ta nouvelle sess_id par cookie
Je revient:
Je veux la page x.php & voici le cookie que tu ma refiler > Ok, je te reconnais!
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,

si t'as un même utilisateur qui vient sur tes deux sites hébergés sur le même serveur utilisant le même session_save_path sans distinction, t'auras des problèmes avec les mêmes noms de variables effectivement :)

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Au sujet du dossier des sessions, si je m'amuse c'est par defaut dans /tmp/ que sa part ou dans un dossier commum de toutes les sessions qu'utilise le serveur, un dossier pour chaque compte Free (meme chose chez Celeonet), sa ne sera pas peut etre pour que l'espace disque utiliser pour stoquer les sessions soit comptabiliser pour le quota / utilisateur ?! un flood en chaine qui creer 10^9999 fichiers pour les sessions sa doit bien couter en espace :)
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Antho > justement, la sess_id evite ces collisions en generant un identifiant le plus unique possible, je me trompe ?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Non car le sess_id est le même si t'as le même site hébergé sur le même nom de domaine mais dans un dossier différent.

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>