Sécuriser une page

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 451 fois - Téléchargée 34 fois

Contenu du snippet

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>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
3 janvier 2008

Bonjour votre code marche très bien je vous en remercie par contre je voudrai que la session s'arrete après 5min admettons, comment faire?
<?php if( ) {echo $logoutAction} ?>
que dois mettre entre parenthèses.
MErci.
Messages postés
6
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
16 mai 2005

Fantastic Fantastic Fantastic Fantastic
sécurité en premiére même dans le kayasss..
Messages postés
48
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
21 avril 2008

session_unregister('MM_Username');
session_unregister('MM_UserGroup');
session_unregister("statut");

Ce serait pas plus rapide et plus simple d'utiliser session_unset() ?

Ensuite, je ne comprends pas l'utilité de ceci:

$logoutGoTo = "../login.php";
if ($logoutGoTo) { //si la variable renvoire TRUE

A quoi sers de tester si une variable contient quelque chose, alors qu'on la rempli à la ligne d'avant?
Messages postés
10
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
5 avril 2005

marche pas chez moi quand je lance la page il me dis qu'il ne la trouve pas ... bizarre lol enfin pe easyphp qui déconne


Bye bye j'espere que je vais arriver a le faire marcher
Messages postés
141
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
20 octobre 2005

Intéressant et utile, moi qui suis adepte des "" ;-)

Merci !
Afficher les 10 commentaires

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.