Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/03/2007, 14h26   #1
Nouveau Membre du Club
 
Avatar de bbo1991
 
Inscription : novembre 2006
Messages : 100
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : novembre 2006
Messages : 100
Points : 25
Points : 25
Par défaut [Cookies] Faire un log out façon yahoo

hello à tous,
pour gérer les sessions de sutilisateurs j'utilise soit des coockies soit des sessions.
Dans les deux cas ça marche. Mon problème vient de la déconnexion, quand on fait un logout les variables ou coockies correspondantes sont bien détruites. Mais: si l'utilisateur appuie sur le bouton "page précédente" de son browser il arrive bel et bien à la page qui devait être protégé, bien sûr il ne pourra plus faire aucune action: si il clique sur un lien ça ne va plus marcher.
ce que je voudrai obtenir c'est une protection similaire aux mails yahoo, une fois qu'on se déconnecte on ne devrait plus pouvoir revenir en arrière. mais j'vois pas comment mettre ceci en oeuvre, quelqu'un peut me guider?
bbo1991 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 15h36   #2
Membre habitué
 
Inscription : mai 2004
Messages : 200
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 200
Points : 101
Points : 101
salut

quand ton internaute clique sur logout, un script doit te détruire les variables de sessions et te rediriger vers une nouvelle page. Si l'utilisateur clqiue sur précedent et qu'il se retrouve quand meme sur la page alors qu'il n'est pas loguer, c'est qu'il y a un truc que tu fais mal. Une verification de l'existence des variables de sessions sur chacune de spages qui doivent êtres protégés est indispensable. Si il peut revenir en arrière, c'est que cette verification n'est pas faite...
__________________
La programmation, c'est tout un art
gregal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 16h23   #3
Nouveau Membre du Club
 
Avatar de bbo1991
 
Inscription : novembre 2006
Messages : 100
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : novembre 2006
Messages : 100
Points : 25
Points : 25
Citation:
quand ton internaute clique sur logout, un script doit te détruire les variables de sessions et te rediriger vers une nouvelle page
Mon script correspondant version simplifié:
Code :
1
2
3
4
5
6
7
8
 
<?php
setcookie("name","",time()-2*3600);//destruction des coockies
?>
<!--redirection vers formulaire d'identification-->
<script language="JavaScript">     
document.location.replace("index.php");
</script>
Citation:
Si il peut revenir en arrière, c'est que cette verification n'est pas faite...
Dans chacune de mes pages il ya cette vérification avant l'affichage de tout contenu:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?php
$test=0;
if(isset($_COOKIE['result'])) $test=1;
?>
<?php
if(isset($test) AND $test==1){?>
    Corps de la page....
<?php
}
else{
    echo "Veuillez vous identifer";
    exit(0);
}
?>
Alors? Le vrai problème c'est que l'appui sur le bouton "Page Précédente" du navigateur retourne la page précédente qui avait été mise en cache par le navigateur lui-même.
Donc il n'y a plus de vérification côté serveur de l'existence des variables de sessions ou de coockies....

Je vois quelqu'un venir avec cette solution:
Code HTML :
1
2
3
4
5
6
7
8
9
10
 
<head> 
 
  <meta http-equiv="Expires" CONTENT="0"> 
 
  <meta http-equiv="Cache-Control" CONTENT="no-cache">
 
  <meta http-equiv="Pragma" CONTENT="no-cache"> 
 
</head>
Qui dit au navigateur de ne pas mettre la page en cache mais ça ne marche pas!!!

En analysant le système des mails type yahoo je remarque qu'ils arrivent à effectuer des traitements côté serveur avant de renvoyer la page précédente, mais comment ils procèdent c'est ce que je voudrai savoir.
bbo1991 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h33.


 
 
 
 
Partenaires

Hébergement Web