» Effacer les sessions de Free
Rédigé par :
Guillaume
Le : 30/08/2003 à 15:13
Hits : 7829
Tout est dans le titre, ce petit code car on s'est rendu compte à plusieurs, que Free n'effaçait pas ou pas toutes les sessions du répertoire ( /sessions), même avec session_unset(); et session_destroy();
Donc l'idée de faire un code qui permettrait de lister les fichiers de sessions uniquement présent dans le dossier /sessions et de les effacer tous les X temps.
Il ne vous reste plus qu'a inclure ce fichier dans une page régulièrement consultée afin d'automatisé l'effacement (pensez à retirer les echo de ce code pour pas qu’ils apparaissent dans la page ou il sera inclus ;))
article_11.php
<?php
// ------------------------------------------------------------------------- //
// Effacer les sessions de Free //
// ------------------------------------------------------------------------- //
// Le 30/08/2003 à 15h13 par Guillaume JIGUEL (guillaume@gphp.net) //
// ------------------------------------------------------------------------- //
// http://www.gphp.net/articles,11.php //
// ------------------------------------------------------------------------- //
// Config
// temps maxi avant d'effacer en sec (43200 sec = 12h)
$time_max = 43200;
// Dossier sessions
$dossier = 'sessions/';
// On affiche le super titre
echo '<h1><u>I Like Free\'s Sessions :-p</u></h1>';
// Ouverture du dossier de sessions
$ouverture = opendir($dossier);
// On parcourt le dossier en boucle
while ($fichiers = readdir($ouverture)){
// On selectionne seulement les fichiers de sessions
if (is_file($dossier.$fichiers) && eregi('^.sess_[a-f0-9]{32}$', $fichiers)){
// On selectionne seulement les fichiers supérieur à 12h (43200 sec).
if (date('U', filectime($dossier.$fichiers))+$time_max < date('U', time())){
// On efface le fichier
unlink ($dossier.$fichiers);
// on affiche le resultat du fichier éffacé
echo '<b>'.$fichiers.'</b> à été éffacé du dossier '.$dossier.'. <br />';
}else{
// les fichiers supérieurs à time_max sont deja éffacés, on casse la boucle...
echo 'Les sessions en cours sont encore inférieures à '.($time_max/60/60).'h.';
break;
}
}
}
// Fermeture du dossier de sessions
closedir($ouverture);
?>
» Commentaires
Pas de commentaires.
Vous devez être connecté en tant que Membre pour pouvoir poster un commentaire, Inscrivez vous ici !