conflit de session avec deux utiliateurs d'un même réseau

Eléphant du PHP | 331 Messages

20 août 2006, 11:32

Bonjour à tous,

J'ai crée un site dynamique qui se distingue en deux parties (forum phpbb avec authentification des utilisateurs et accès par la suite à des pages php crées personnellement).
Une fois l'utilisateur loggué via le forum, je récupère son identité via la variable de session initialisée par phpbb pour l'amener sur mes pages où j'ai besoin de connaitre l'utilisateur en question.
J'ai donc sur mes pages le code suivant :
mysql_free_result($session);

define('IN_PHPBB', true); 
$phpbb_root_path = '../forum/'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

// 
// Start session management 
// 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata);
//
Tout fonctionne trés bien si ce n'est dans le cas où deux utilisateurs différents navigent sur un même réseau et donc sous une même adresse IP publique.
En effet, dans ces cas là, le premier utilisateur est reconnu sous le pseudo d'un autre utilisateur du réseau et utilisant mon site.

En regardant d'un peu plus prés la table phpbb_sessions, je m'apperçois que celle ci ne se vide jamais alors que la durée de vie de mes sessions est configurée à 300 secondes dans le panneau de config de mon forum.
Je pense que ces deux problèmes sont liés.

Quelqu'un pourrait-il m'aider ?

Merci !

Jay

Eléphant du PHP | 413 Messages

20 août 2006, 18:47

salut,
au lieu d'utiliser $user_ip, utilise tout simplement le pseudo. il est unique lui.
--
Goeb

Eléphant du PHP | 331 Messages

22 août 2006, 10:22

je veux bien mais comment le récupérer ?

Eléphant du PHP | 177 Messages

22 août 2006, 10:58

Essaye un
print_r($_SESSION);
Car tu as pas mal d'info qui transite par la session ou fait une recherche sur les variables session