Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: uscire da una sessione

  1. #1

    uscire da una sessione

    Sto sviluppando un’area privata in php con l’aiuto delle sessioni.
    Sembra funzionare tutto correttamente finchè non esco dalla mia applicazione tramite il disconnetti.
    In realtà sembra disconnettersi ma se faccio 2-3 indietro da browser rientro nella mia applicazione con tutte le variabili di sessione impostate anche se faccio il refresh.
    Forse dimentico qualcosa? Nella fase di disconnessione ho inserito le seguenti istruzioni:

    Codice PHP:
    session_start();
    $_SESSION = array();
    session_destroy();
    header('location:.....'); 
    Valli di Chioggia
    Blog di Excel VBA Microsoft Excel e Visual basic
    Bacheca Padova Annunci gratuiti
    AAA Padova Annunci a Padova

  2. #2

    Re: uscire da una sessione

    ma se faccio 2-3 indietro da browser rientro nella mia applicazione con tutte le variabili di sessione impostate anche se faccio il refresh.
    Intendi ripostando le informazioni POSTDATA quando te lo chiede il browser?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    25
    probabilmente nelle pagine indietro hai nuovamente un'inizializzazione della sessione che nel caso non ne trovi una, od una non valida, provvede a ricrearla.
    Potresti definire una costante X all'inizio dell'area riservata e nel caso questa non sia presente nelle altre pagine distruggere la sessione e ritornare al login, con questo doppio controllo dovresti poter eliminare il rpoblema.
    buon lavoro
    - Kiko ™ -
    ... Vivi nel rispetto di chi vive nel rispetto degli altri ......

  4. #4
    No, una volta che sono uscito tramite la procedura di disconnessione sopra descritta ed una volta che lo script ha eseguito il redirect alla homepage. Se da explorer clicco “INDIETRO” (pulsante freccia in alto a SX) rientro nelle pagine con le variabili di sessione correttamente impostate! mentre mi aspettavo il messaggio: “La tua sessione è scaduta!”.
    Spero di essermi spiegato.
    Grazie
    Valli di Chioggia
    Blog di Excel VBA Microsoft Excel e Visual basic
    Bacheca Padova Annunci gratuiti
    AAA Padova Annunci a Padova

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    25
    Si si ti sei spiegato bene.
    Quello che secondo me dovresti provare è un controllo doppio, oltre a quello di sessione, che probabilmente ti viene ri-recuperato dal browser semplicemente definire una costante in home page con " define('_VALID_CTRL',true); " e poi controllare nelle altre pagine se la costante è definita con " defined('_VALID_CTRL') or die.... " in questo modo hai un doppio controllo ed al momento del log-out eliminando pure _VALID_CTRL hai la certezza che nel caso il browser recuperasse la sessione certamente non puuò ridefinire la variabile e quindi ti reindirizza lla pagina di login.
    - Kiko™ -
    ... Vivi nel rispetto di chi vive nel rispetto degli altri ......

  6. #6
    Scusa Kiko, ho postato prima di leggere il tuo post.
    Proverò la tua soluzione ma nel caso di accesso contemporaneo questa tecnica funziona lo stesso?
    Strano xò! È vero che ogni pagina ha il session_start e che nel caso non trovi una aperta ne crea una nuova, ma se testo le variabili appena inizializzate e distrutte non ha senso che mi restituiscano il valore!
    Codice PHP:
    session_start();
    if (!isset(
    $_SESSION['nome']))
      {
        
    header('location:errore.php');
      exit;
      } 
    Valli di Chioggia
    Blog di Excel VBA Microsoft Excel e Visual basic
    Bacheca Padova Annunci gratuiti
    AAA Padova Annunci a Padova

  7. #7
    Tra le istruzioni di logout e distruzione sessione, prova a mettere anche quella relativa all'eventuale cookie di sessione sul tuo browser:

    codice:
    if (isset($_COOKIE[session_name()])) setcookie(session_name(), '', time() - 90000);

  8. #8
    prima di distruggere la sessione, prova una cosa cosi:

    $_SESSION = array();

    dovrebbe "azzerare" tutte le variabili, ed in ogni pagina controlla la validità delle variabili sessione

  9. #9
    Originariamente inviato da mem
    prima di distruggere la sessione, prova una cosa cosi:

    $_SESSION = array();

    dovrebbe "azzerare" tutte le variabili, ed in ogni pagina controlla la validità delle variabili sessione
    L'aveva gia' messo, c'e' il suo blocco di disconnessione in un msg poco sopra

  10. #10
    Originariamente inviato da Darsch2501
    L'aveva gia' messo, c'e' il suo blocco di disconnessione in un msg poco sopra
    ehm... ecco... non avevo letto

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.