Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605

    Svuotare la sessione non basta per il logout

    Scusate il tittolo, ma era l'unico modo per spiegare quello che mi succede.
    Vi spiego subito.
    Mi sono accorto che su un'applicazione dopo il logout, quindi dopo avere svuotato le sessioni, se faccio tasto indietro del browser, mi fa entrare lo stesso nell'pplicazione.
    Come faccio ad evitare questo?
    Naturalmente la sessione è vuota quindi nessuna operazione può essere fatta, ma è antipatico il fatto steso che si possa visualizzare qualcosa....

    Cioè come faccio ad impedire di visualizzare la pagina che è nella cache? e far scadere la pagina all'istante?

    Grazie mille.
    Giuseppe

  2. #2
    mi sembra molto strano :master: , perchè quando distruggi una sessione mediante "session_destroy();" e provi a tornare con il tasto del browser "indietro" ti dovrebbe indicare che la sessione è scaduta e quindi non ti dovrebbe far visualizzare la pagina... :master:

    Sei sicuro che la pagina precedente utilizza le sessioni?
    "session_start();" l'hai messo prima di ogni input?


  3. #3
    non è che quando fai back in realtà visualizza la copia cache della pagina dove ti trovavi prima?
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  4. #4
    si ma in una condizione senza sessioni, le sessioni dovrebbero evitare tale esecuzione...
    non è che hai modificato qualcosa nel php.ini?

  5. #5
    no aspetta se è controllato dalle sessioni dovrebbe funzionare cosi:

    session_destroy() distrugge effettivamente la sessione, poi l'utente fa back e rivede la pagina dalla cache. Quando cerca di effettuare un altra operazione dentro all'area protetta il controllo glielo impedisce.

    difatto quando fa back il browser gli presenta la pagina ma non fa alcuna richesta al server...

    prova un po se questa cosa succede con tutti i browser che hai installati sul tuo client
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  6. #6
    Concordo con l'analisi di Manuel.s... è proprio così :-)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605

    allora...

    allora ragazzi...

    io faccio session_destroy() e metto anche all'inizio della pagina quella funzione

    header(no cache....

    ma nulla... il tasto indietro del browser funge sempre... naturlamente
    l'applicazione da utente loggato mi dice esempio

    benvenuto: Giuseppe

    se torno indietro dopo il logout
    mi esce solo

    benvenuto:

    ma comunque mi fa visualizzare anche la pagina.
    la cosa l'ho provata con firefox ed explorer ma è lo stesso.. e sul php.ini non ricordo di aver cambiato nulla..
    Ora però voglio controllare meglio...
    in tutti i modi il valore che si riferisce alla cache nel php.ini è solo il buffering vero? o c'è qualche altro valore a proposito?
    grazie ancora
    giuseppe

  8. #8
    se dopo aver cancellato la sessione ti dice solo:

    benvenuto:

    senza username, vuol dire che la sessione è stata cancellata. la tua applicazione sta funzionando.

    bisogna a questo punto capire che altro ti aspetti che faccia. Il problema non è nelle sessioni quanto in quello che fai tu per consentire o meno l'accesso alla risorsa in relazione a queste

    a questo punto manda un po di codice magari ci capiamo qualcosa...
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605
    grazie della.. risposta...
    ma appunto ho scritto questo propro perchè so che l'applicazione sta funzionanando.
    Cioè la sessione è svuotata distrutta, quella che succede e che voglio togliere è la possibilità di andare indietro con il pulsante back del browser.
    tutto quì! insomma più che problema della sessione che apunto sta funzionanado bene pè un problema di cache e che proprio non so come risolverlo.. dopo tutti sti tentativi...

    spero di essermi spiegato
    grazie ancora giuseppe

  10. #10
    Utente di HTML.it L'avatar di Leo15
    Registrato dal
    Sep 2005
    Messaggi
    307
    Prova ad usare questi come header:
    Codice PHP:
    header("Expires: Mon, 01 Jul 1990 00:00:00 GMT");
    header("Last-Modified: " gmdate("D, d M Y H:i:s") ." GMT");
    header("Pragma: no-cache");
    header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); 
    Vedi se va.
    La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
    Isaac Asimov

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.