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 14/12/2007, 21h00   #1
Invité de passage
 
Inscription : décembre 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 5
Points : 3
Points : 3
Par défaut Est-ce que le session id est unique à vie ou pas ?

Je voudrais savoir si le session id est unique à vie. Je veux dire, si un session id est généré par mon serveur:
- est-ce qu'il est possible que le même session id soit généré 6 mois plus tard par hasard ?
- ou alors ? Est-ce que le session id est unique, par exemple, md5 de l'heure actuelle (avec précision à la seconde ou plus)

J'ai besoin d’un identifiant unique, cet identifiant doit être commun à deux scripts (2 instance exécutées en parallèle sur un serveur car un utilisateur a clique deux fois sur un submit)

Je n'arrive pas à trouver cette information dans les docs php. La seule que j'ai trouvé était sur un forum et disait: session id est généré aléatoirement... Est-ce vrai? Mystère et boule de gomme !

Thanks

David
davitz38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2007, 04h23   #2
Membre du Club
 
Inscription : novembre 2006
Messages : 61
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 61
Points : 42
Points : 42
Envoyer un message via MSN à gandalf76fr Envoyer un message via Skype™ à gandalf76fr
Oui, les sessions php sont bien générées aléatoirement.

Après savoir si un id de session peut ressortir 6 mois plus tard aucune idée, ne m'étant jamais penché sur le coté aléatoire de la génération de sessions.

après si tu le souhaite tu peux dev ton propre systeme de gestion des id de sessions et demander à php de l'utiliser (bien que cela ne soit aps reocmmandé je crois).
gandalf76fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2007, 10h47   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Vous trouverez des éléments de réponse dans ce sujet : Modifier l'id de session PHPSESSID.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 16h53   #4
Invité de passage
 
Inscription : décembre 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 5
Points : 3
Points : 3
julp, merci pour le lien
Citation:
Vous trouverez des éléments de réponse dans ce sujet : Modifier l'id de session PHPSESSID.


Dans ce lien, Stouille89 dit
Citation:
Ok je confirme que session_regenerate_id() fournit un id unique puisqu'il le génère en fonction du l'heure actuel en milisecondes et de l'adresse IP de l'utilisateur puis d'autres paramètres...
Par conséquent, le session id devrait être unique a vie



Par contre, ici, dans ce post, gandalf76fr dit:
Citation:
Oui, les sessions php sont bien générées aléatoirement.
Ce qui veut dire que le serveur peut générer deux session id unique a 6 mois d’intervalle par exemple



Qui croire?
J'aurai besoin d'être sure de cette information. Ma question est:
Ou est ce que je peux trouver une doc officielle, yen a t’il une?
J'ai checké php.net, mais je n'ai pas trouve de réponse

Merci d'avance

David
davitz38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 17h31   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par davitz38
Qui croire?
Stouille89. Il suffit de regarder les sources de PHP pour en avoir confirmation :
Code C :
1
2
3
4
5
6
	gettimeofday(&tv, NULL);
 
	/* ... */
 
	spprintf(&buf, 0, "%.15s%ld%ld%0.8F", remote_addr ? remote_addr : "", 
			tv.tv_sec, (long int)tv.tv_usec, php_combined_lcg(TSRMLS_C) * 10);
On voit bien ici qu'une chaîne est créée (puis sera ensuite hachée mais je ne l'ai pas montré - algorithme md5 ou sha1 pour PHP 5) à partir de l'adresse du client et de l'heure/date serveur (type timestamp Unix).
julp 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 13h10.


 
 
 
 
Partenaires

Hébergement Web