Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    62

    Cancellare cookie di sessione

    Ciao ragazzi,

    come da titolo: i cookie di sessione che apache tiene salvati nella cartella da me specificata non vengono mai cancellati automaticamente. Come posso far si che questi cookie vengano cancellati dopo che l'utente ha effettuato il logout?
    Non riesco a trovare la linea da modificare nel php.ini.

    E nel caso si debba fare tramite codice, qual'è la giusta funzione tra le mille??
    session_destroy, $_SESSION = Array() e session_unset non cancellano il file cookie! Già le ho provate in tutti i modi!

    Grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    session_destroy()

    oppure

    Codice PHP:
    setcookie("PHPSESSID","",time()-3600,"/"); 

  3. #3
    cancellare i cookie, invalidare il file di sessione oppure cancellare i file di sessione dal server ????

    non e' la stessa cosa.

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

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    62
    Ranma2, ma la setcookie() non setta file cookie sul client? O sbaglio? Perchè io non tengo cookie sul client oltre a quello necessario per stabilire la sessione.

    Comunque intendo proprio cancellare il file di sessione dal server! Dal momento che viene creato ogni volta che un browser apre la pagina, mi ritrovo la cartella strapiena in poco tempo, e non viene mai svuotata dai file non piu necessari!

    Io stabilisco la mia sessione così:dopodichè che nell'array $_SESSION piazzo tutto ciò che mi serve riguardo l'utente connesso.

    codice:
    <?php 
    session_start(); 
    
    /* se nel cookie di sessione è definita almeno la variabile uid allora l'utente è loggato */
    if(isset($_SESSION['uid']))
    {	header('Location: kingdom.php');   }
    ?>

  5. #5
    Originariamente inviato da hysoka44
    Comunque intendo proprio cancellare il file di sessione dal server! Dal momento che viene creato ogni volta che un browser apre la pagina, mi ritrovo la cartella strapiena in poco tempo, e non viene mai svuotata dai file non piu necessari!
    ; NOTE: If you are using the subdirectory option for storing session files
    ; (see session.save_path above), then garbage collection does *not*
    ; happen automatically. You will need to do your own garbage
    ; collection through a shell script, cron entry, or some other method.
    ; For example, the following script would is the equivalent of
    ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
    ; cd /path/to/sessions; find -cmin +24 | xargs rm
    se i file di sessione sono in una sottocartella devi provvedere tu a cancellare le sessioni scadute. Se invece sono nel classico (e comune a tutti) /tmp allora il garbage collector spazza una tantum ad ogni session_start tra i file di sessione scaduti.

    Trovi parametri e descrizioni nel file php.ini alla sezione [session]

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

  6. #6
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Originariamente inviato da hysoka44
    Ranma2, ma la setcookie() non setta file cookie sul client? O sbaglio? Perchè io non tengo cookie sul client oltre a quello necessario per stabilire la sessione.

    Comunque intendo proprio cancellare il file di sessione dal server! Dal momento che viene creato ogni volta che un browser apre la pagina, mi ritrovo la cartella strapiena in poco tempo, e non viene mai svuotata dai file non piu necessari!

    Io stabilisco la mia sessione così:dopodichè che nell'array $_SESSION piazzo tutto ciò che mi serve riguardo l'utente connesso.

    codice:
    <?php 
    session_start(); 
    
    /* se nel cookie di sessione è definita almeno la variabile uid allora l'utente è loggato */
    if(isset($_SESSION['uid']))
    {	header('Location: kingdom.php');   }
    ?>
    Per generare una sessione viene creato appunto il PHPSESSID nella macchina del visitatore, altrimento come potrebbe il server identificarlo?

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.