Ce script permet de sécuriser une page. car en pratique une session est persistante et qu'il faut fermer le navigateur pour effacer la session de la memoire du serveur. Pour éviter cela voici un script de déconnexion qui détruit aussi la session.
Ce scrip est à mettre sur toutes les pages à sécuriser.
Ce script suppose aussi que qu'il y a plusieurs état : statut public , etc.... ça peu être modifié.
Source / Exemple :
<?php
//init de la session
session_start();
// ** Déconnexion de l'utilisateur courant. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//Pour détruire complètement la session du user, il faut détruire aussi ses variables de sessions
session_unregister('MM_Username');
session_unregister('MM_UserGroup');
session_unregister("statut");
session_destroy();
$logoutGoTo = "../login.php";
if ($logoutGoTo) { //si la variable renvoire true
header("Location: $logoutGoTo"); // retour à la page login
exit;
}
}
// vérification du statut de la personne qui demande une page
if ($_SESSION['VARstatut'] != "public") //si statut est différent de la personne connectée
{ header("Location: ../login.php");} // retour à la page login
?>
<html>
<body>
<a href="<?php echo $logoutAction ?>" >Déconnexion</a>
</body>
</html>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.