Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Consigli su logout

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Consigli su logout

    Ho creato una login, aprendo delle sessioni per richiamare il nome dell'utente in altre pagine.
    Quando l'utente preme su logout, io l'ho rimandato semplicemente alla pagina di login. Il problema è che così facendo basta cliccare su "Indietro" del browser per visualizzare la pagina precedente.
    Non c'è un modo per distruggere la sessione creata e impedire questo pericoloso accesso?


  2. #2
    fai una pagina dove distruggi la sessione e poi rimandi alla pagina di login

    ci sono vari esempi nel manuale.

    http://www.php.net/manual/it/functio...on-destroy.php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Seguendo quegli esempi ho scritto

    Codice PHP:
      session_start();
      
    session_destroy();
      echo 
    "Logout effettuato con successo!";
      
    header("Location: login.php"); 
    Così mi visualizza il messaggio quando premo logout, ma non mi reindirizza e mi dà questo errore sotto il messaggio:
    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\scuola\estinzione.php:4)

    Devo usare un altro modo per reindirizzarlo?

  4. #4
    Codice PHP:
    session_start(); 
    $_SESSION = array();
    session_destroy(); 
    header("Location: login.php");
    exit; 
    non puoi mandare una stringa al browser prima di un header.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Adesso funziona, mi rimanda direttamente alla login.
    Però se torno indietro di una pagina mi visualizza ancora la pagina abbandonata (senza però le variabili di sessione attive) ed è possibile navigare nei menu.
    Devo trovare un modo per disabilitare il tasto indietro del browser

  6. #6
    approfitto di questo topic,
    credo di aver fatto tutto secondo la norma:

    Codice PHP:
    <?
    session_start
    ();
    $_SESSION = array();
    session_destroy();
    ?>
    quando effetto il logout e quindi quando eseguo queste tre istruzioni la sessione in un primo momento si elimina fisicamente ma poi si ricrea nuovamente però vuota.
    E' normale 'sta cosa?

  7. #7
    Originariamente inviato da Horus-Ra
    Adesso funziona, mi rimanda direttamente alla login.
    Però se torno indietro di una pagina mi visualizza ancora la pagina abbandonata (senza però le variabili di sessione attive) ed è possibile navigare nei menu.
    Devo trovare un modo per disabilitare il tasto indietro del browser
    devi fare in modo di impedire la navigazione se le variabili di sessione non sono attive.

    non vorrai mica decidere tu cosa deve fare lo user dal suo pc....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Originariamente inviato da mariolone
    approfitto di questo topic,
    credo di aver fatto tutto secondo la norma:

    Codice PHP:
    <?
    session_start
    ();
    $_SESSION = array();
    session_destroy();
    ?>
    quando effetto il logout e quindi quando eseguo queste tre istruzioni la sessione in un primo momento si elimina fisicamente ma poi si ricrea nuovamente però vuota.
    E' normale 'sta cosa?
    certo che e' normale. Se il browser non viene chiuso il cookie di sessione non scade. Pero' il file di sessione e' vuoto e quindi con un minimo di controllo mandi al login.

    <?php
    session_start();
    if(empty($_SESSION) -> form login
    else -> altro

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.