Session php

Résolu
rudybiss Messages postés 60 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 juillet 2009 - 13 août 2008 à 14:18
rudybiss Messages postés 60 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 juillet 2009 - 15 août 2008 à 00:51
Bonjour à tous!!!

Voila,je développe un site en php et j'utilise des sessions.tout se passe bien(connexion et deconnexion),mais j'aimerai ajouter un peu de sécurité aux sessions!
J'aimerai savoir comment faire pour fermer automatiquement une session après un certain temps d'inactivité(comme dans yahoo mail)?
Merci pour votre aide..


PS:suis-je assez clair?

6 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 août 2008 à 20:57
Hello,

meuh...suis pas d'accord. PHP dispose d'un garbace collector pour nettoyer les sessions inactives.
Par défaut, toutes les sessions d'un serveur web sont stockées au même endroit. Cet endroit est paramètrable via le code PHP directement. L'intervale entre chaque nettoyage aussi. Ce que je fais généralement, moi, c'est que chaque appli web a son propre répertoire de stockage pour ses sessions, et ses paramètres pour le nettoyage des sessions.
Par défaut, ce nettoyage s'effectue toutes les 24mn d'inactivité.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 août 2008 à 19:38
@Neige : c'est pas demain la veille si ja'i bien compris ;-)

@rudybiss : ça se nettoie tout seul.  Voir
http://www.php.net/manual/fr/function.session-save-path.php
pour changer le répertoire de session, et les paramètres de conf pour la durée :
http://www.php.net/manual/fr/session.configuration.php
3
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
13 août 2008 à 14:36
Salut,

Il te suffit de stocker quelque part (une variable de session par exemple) la date d'actualisation de la session (à chaque affichage de page, par exemple).
A chaque fois, tu compares cette date d'actualisation de la session avec la date courante moins le délai d'inactivité maximum.
Si la session est trop ancienne, tu détruits les variables de session, les cookies de la session, et tu régénères un id de session.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
0
rudybiss Messages postés 60 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 juillet 2009
13 août 2008 à 21:58
A malalam!!

J'ai constaté dans le repertoire www du serveur un dossier "sessions",c'est ce repertoire dont tu parle????As-tu un tuto pour faire le nettoyage de ce repertoire?
Merci pour ta reponse!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
14 août 2008 à 10:14
pffffffffffff j'ai besoin de vacances moi...

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
0
rudybiss Messages postés 60 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 juillet 2009
15 août 2008 à 00:51
@ malalam!

j'ai pu réaliser ce que je voulais(mais je ne sais pas si c'est bon la méthode),en fait j'ai fait un script javascript qui gere le temps d'inactivité sur la page(quand elle n'est pas rechargée) et une fois arrivé à terme,il previent l'utilisateur qu'il est déconecté et aussitot est renvoyé vers la page de connexion et aussi j'ai pris le soin de detruire la session lorsqu'il est redirigé vers la page de login,ainsi meme s'il utilise les boutons "precedent" ou "suivant" du navigateur,il ne peux plus acceder à son espace et est obligé de se reconnecter.
Mais je vais aussi explorer d'autres pistes pour comparer quelle est la meilleure méthode.

Merci pour vos astuces!!!!
0
Rejoignez-nous