Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2136 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  session_destroy + back = session active ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

session_destroy + back = session active ???

n°1546852
kokliko_bl​eu
Posté le 23-04-2007 à 09:18:22  profilanswer
 

bonjour,
je reprends du code d'un collègue...
le code de redirection fonctionne bien mais...  
quand je fais un back, je reviens sur la page avec la session qui toujours là et active... :pt1cable:  
malheureusement j'ai des frames, d'où le code de redirection en js.
 
 
mon fichier logout.php :
 

Code :
  1. <?
  2. session_start();
  3. $_SESSION = array();
  4. if (isset($_COOKIE[session_name()])) {
  5.     setcookie(session_name(), '', time()-42000, '/');
  6. }
  7. session_destroy();
  8. echo "<script>top.document.location.href='../index.html';</script>";
  9. exit;
  10. ?>


 
Note: travail sur XAMPP en local.
 
a quoi cela est-il dû ?
 
Merci d'avance de vos réponses.
 
KB

mood
Publicité
Posté le 23-04-2007 à 09:18:22  profilanswer
 

n°1546853
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 23-04-2007 à 09:27:36  profilanswer
 

détruis aussi les variables de session ...
 
$_SESSION = array();
session_destroy();

n°1546854
kokliko_bl​eu
Posté le 23-04-2007 à 09:34:35  profilanswer
 

c'est ce que j'ai mis ...
 
j'ai enlevé le  

Code :
  1. if (isset($_COOKIE[session_name()])) {
  2.     setcookie(session_name(), '', time()-42000, '/');
  3. }


car il n'y a pas de cookie, en fait.
 
j'ai donc :

Code :
  1. <?php
  2. session_start();
  3. $_SESSION = array();
  4. session_destroy();
  5. echo "<script>top.document.location.href='../index.html';</script>";
  6. exit;
  7. ?>

n°1546909
drasche
Posté le 23-04-2007 à 10:55:07  profilanswer
 

Après avoir fait "Back", tu as essayé d'accéder à une page qui nécessitait la session? C'était peut-être simplement la cache du navigateur qui te renvoie une page identique ;)  Si tu veux que la page soit d'office rechargée, il faut changer les headers de ta page.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°1547010
kokliko_bl​eu
Posté le 23-04-2007 à 12:14:08  profilanswer
 

Citation :

Après avoir fait "Back", tu as essayé d'accéder à une page qui nécessitait la session?


oui

Citation :

C'était peut-être simplement la cache du navigateur qui te renvoie une page identique ;)  


peut-être mais après je navigue avec la session active.

Citation :

Si tu veux que la page soit d'office rechargée, il faut changer les headers de ta page.


je ne veux pas que les pages d'avant (avec session) soient accessibles.
les headers ? de quelle page ?
 
frame menu + frame corps
    |
   \|/
  logout.php  ===> index.html (ok) puis si + back ===> frame menu + frame corps (connecté), pas ok...
 
j'ai fait un test sans frame sur 2 pages et ca fonctionne apparemment bien.
 
je me demande donc pourquoi les frames gardent la session...

n°1547034
drasche
Posté le 23-04-2007 à 12:44:51  profilanswer
 

les headers des pages accessibles uniquement par session a priori. Un truc genre:
 

Code :
  1. header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');


 
(je ne suis pas un pro des headers mais c'est une bonne piste)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°1547088
leflos5
On est ou on est pas :)
Posté le 23-04-2007 à 14:18:17  profilanswer
 

Et ta session il reste quelque chose dedans? Je penche aussi pour une histoire de cache :) Pour les entêtes, c'est sur lles pages que tu veux pas mettre en cache, donc sur les pages où la session à son rôle à jouer ;)

n°1547282
kokliko_bl​eu
Posté le 23-04-2007 à 15:49:31  profilanswer
 

je ne sais pas s'il reste quelque chose dedans. J'ai bien l'impression que oui, puisque je navigue après sans soucis.
comment faire pour le savoir, sachant que la redirection se fait sur du html ?
par contre sans faire de redirection, mais en copiant un lien à session dans la barre url, l'accès est coupé avec le message qui va bien...

n°1547290
leflos5
On est ou on est pas :)
Posté le 23-04-2007 à 15:52:10  profilanswer
 

Donc c'est bien le cache qui fait son boulot ;)
Suffit de faire un print_r($_SESSION) en tête de page pour voir s'il reste quelque chose dedans :spamafote:
 
Si ça t'affiche rien, c'est que la page est pas regénérée ==> cache

n°1547304
kokliko_bl​eu
Posté le 23-04-2007 à 16:00:10  profilanswer
 

et le header('cache-control...
je le mets où exactement ?
entre quelle et quelle balise ?  
pour lors il est après le session_start();
et ca marche pas.

mood
Publicité
Posté le 23-04-2007 à 16:00:10  profilanswer
 

n°1547312
drasche
Posté le 23-04-2007 à 16:07:04  profilanswer
 

Il faut invoquer les commandes header avant le session_start, car celui-ci déclenche l'envoi d'un cookie et header ne fonctionne pas si quelque chose est déjà envoyé au navigateur.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°1547514
Shinuza
This is unexecpected
Posté le 23-04-2007 à 18:15:28  profilanswer
 

Si je ne m'abuse, le header peut être envoyé tant que l'ouput n'a pas été solicité :o


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1547539
drasche
Posté le 23-04-2007 à 18:32:34  profilanswer
 

Oui mais la session déclenche l'envoi d'un cookie, et le cookie fait partie de l'output ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°1547545
Shinuza
This is unexecpected
Posté le 23-04-2007 à 18:38:04  profilanswer
 

S'pa impossible :o :jap:


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  session_destroy + back = session active ???

 

Sujets relatifs
Pb de session avec plusieurs fenêtre IE ouvertes[ VBS - Active Directory ] Fin d'instruction attendue
Message sécurité active X injustifiéDémarrer session php changement au header
session, double affichageModifier active directory en pl/sql
variable de sessionbatch - ajouter un mot de passe a une session
zone de dessin active en PHPProblème pour invoquer un session bean dans une servlet
Plus de sujets relatifs à : session_destroy + back = session active ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR