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, 19h07   #1
Membre du Club
 
Inscription : février 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 271
Points : 50
Points : 50
Par défaut Fermer Session NO-PRECEDENT

Bonjour

J'utilises actuellement une authentification (formulaire) via une base de données MYSQL.

J'ai un bouton "Deconnection" qui cache un script PHP :

Code :
1
2
3
4
5
6
7
8
<?php 
 
session_start();
 
session_destroy();
 
header("location:index.php")
?>
Je n'ai pas de message d'erreur , je suis bien redirigé (mais le gros problème , c'set lorsque je fais précédent avec mon navigateur , il m'affiche la page sécurisée alors qu'il devrait me demander une authentification (ex : BRED.fr pour ceux qui sont la bas ).


Cordialement,
Kenshin86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 09h05   #2
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149


C'est un problème de cache. Le navigateur garde les pages en cache, donc elles sont accessibles via l'historique telles qu'elles avaient été affichées. Par contre, les actions côté serveur ne sont pas accessibles, car pour le serveur, l'authentification n'est plus valide. Par exemple, dans le cas d'un forum, après déconnexion tu peux afficher (via l'historique) la page de réponse à un topic, mais si tu essayes d'envoyer une réponse, le serveur te demandera une authentification.

Donc 2 solutions, dépendant de ton contexte :
-> Si tu souhaites que la "déconnexion" désactive seulement des actions côté serveur (cas du forum), je te conseille de garder le cache, c'est toujours pratique et les données ne sont pas critiques
-> Si tes données sont confidentielles et que tu souhaites désactiver même leur simple affichage, alors supprime le cache du navigateur en passant des ordres tels que :
Code :
1
2
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
Voilou j'espère avoir répondu à ta question
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 09h47   #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
Je rejoins cette discussion similaire à un autre post que j'ai envoyé ici:
http://www.developpez.net/forums/sho...d.php?t=304134

Exactement le même problème ce satané "bouton précédente".
J'ai déjà essayé ça:
Code HTML :
1
2
3
4
5
<head>  
  <meta http-equiv="Expires" CONTENT="0">  
  <meta http-equiv="Cache-Control" CONTENT="no-cache"> 
  <meta http-equiv="Pragma" CONTENT="no-cache">  
</head>

et le code de torvalds17:
Code :
1
2
3
4
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
?>
Etant donné qu'on fait appel à header ce code doit être inséré avant la balise <html> non???
Mais bon rien ne marche jusqu'ici on arrive toujour à revenir à l'écran précédente, ce qui ne doit pas avoir lieu ce dernier écran pourrait dans mon cas présenter des données jugées confidentielles !!
bbo1991 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 15h06   #4
Membre du Club
 
Inscription : février 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 271
Points : 50
Points : 50
Torlvals :
J'ai fais ce que tu m'as dis. J'ai bien la redirection , mais lorsque je veux faire précédent ben j'accède a la page.
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php 
 
session_start();
 
session_destroy();
 
header("location:index.php")
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
 
?>
Kenshin86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 14h36   #5
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
J'ai trouvé une solution qui a marché pour moi en lisant la doc du browser Safari d'apple.
alors on met toujours le code php:
Code :
1
2
3
4
5
6
7
<?php
		header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
		header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
		header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); // HTTP/1.1
		header("Cache-Control: post-check=0, pre-check=0", false);
		header("Pragma: no-cache"); // HTTP/1.0
?>
Suivi d'un trick à base d'iframe:
Code :
1
2
3
<iframe style="height:0px;width:0px;visibility:hidden" src="about:blank">
		Interdire la mise en cache
</iframe>
Voilà et ça marche enfin
bbo1991 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2007, 14h09   #6
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 63
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : octobre 2006
Messages : 63
Points : 36
Points : 36
Envoyer un message via MSN à dekovince
salut moi je fais ca et ca fonctionne tres bien !!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
 
session_start(); 
 
session_unregister("tasession"); 
 
session_unset(); 
 
session_destroy(); 
 
header('Location:index.php') ;
 
?>
voila a+
dekovince est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2007, 16h17   #7
Membre du Club
 
Inscription : février 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 271
Points : 50
Points : 50
Et si tu fais précédent , tu n'accèdes pas a la page sécurisée ?


J'ai fait un système ou une fentre s'ouvre a l'authentification et j'ai un bouton qui ferme la fenetre...
Kenshin86 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 05h38.


 
 
 
 
Partenaires

Hébergement Web