Bonjour,
Y-a-t-il un moyen en PHP de connaitre l'ensemble des sessions ACTIVES sur un serveur ?
Merci !
Bonjour,
Y-a-t-il un moyen en PHP de connaitre l'ensemble des sessions ACTIVES sur un serveur ?
Merci !
Je ne sais pas, mais les session sont des fichiers crees sur le serveur.
Donc en lisant ces fichier les uns apres les autres, doit y avoir moyen de trouver ca. Apres faut voir si t'as les droit sur ces fichier, et chercher ou ils sont (ca doit pas etre mechant).
Tu peu aussi lire ces cours et tutoriels programmation PHP : http://php.developpez.com/cours/
Merci pour vos réponses.
Effectivement, lister les fichiers, c'est pas mal...
Mais comment savoir si ce sont des sessions encore actives ou non ?
Le fichier d'une session est detruit automatiquement à la fin de celle-ci ?
Pour le print_r($_SESSION); ça n'a aucune utilité, puisque ça affiche la session en cours.
Je cherche à connaitre l'ensemble des sessions.
Pour compliquer le tout, il y a differents serveurs apaches....
En fait, le plus simples sera de stocker les infos de chaque session en base de données, vu que celle-ci est unique (dans tout mon systeme) et que là j'ai un moyen de controler le nombre de session ouvertes, fermées, les dates....
Merci !
Les fichiers sont automatiquement detruit je pense, sinon ca saturerai vite, et ce serait plus ou moin simple de remplir un serveur apache :
je me connecte sur le site, je supprime mon cookie, je me connecte etc ...
session_save_path()
A mon avis le fichier de session est valable autant de temp que le cookie utilisateur, donc quand tu va voir les sessions actives, ca va etre approximatif.
Pour la bd je vois pas comment tu peut faire ...
Si : tu peut mettre sur toute tes pages, un javascript qui a la fermeture ou au changement de page envoi une requete (avec xmlhttprequest) disant que ca ferme la session.
Bein pour la BDD, c'est simple, je stocke mes données de session dans une table SESSION, et le cookie de l'utilisateur ne contient plus un identifiant de session, mais un identifiant d'enregistrement dans la base de données.
Comme ça, dans la BDD, je peut aussi stocker la date de creation, la date de derniere utilisation et verifier que le timeout n'est pas depassé...
Je peux faire la meme chose avec des SESSION php normales, mais mon souci, c'est que j'ai plusieurs serveurs apaches, et donc plusieurs endroits où sont stockés les fichiers de session (1 sur chaque serveur)
Par contre, comme on n'a qu'un seul serveur de BDD, ca permettra de centraliser toutes ces infos sans s'embeter à aller chercher des fichiers sur les differents serveurs (avec les configs de droits d'acces et compagnie, c'est un peu le binz !)
Bonne idee effectivement. Je verrai meme plutot comme ca : tu ne change pas les cookie, tu rajoute juste a ta table utilisateur la date et heure de derniere requete, pour voir qui est suppose en ligne, tu fait un select de ceux ou y a moins de 3 min.
Sinon regarde comment fait phpBB.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager