Visualizzazione dei risultati da 1 a 8 su 8

Discussione: scadenza sessioni PHP

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957

    scadenza sessioni PHP

    Ciao a tutti,
    ho un piccolo sito che usare le sessioni di php per passare dei dati.
    In particolare ho messo questa direttiva:
    codice:
    ini_set('session.cookie_lifetime', 60*60*24);
    per mantenere la sessione attiva per un giorno.

    Volevo sapere se posso rinnovare la sessione ad ogni accesso alla pagine, altrimenti rischio che mi scadano le 24h proprio mentre uno sta girando per il sito... invece rinnovando il session cookie ad ogni accesso alla pagine, ovvierei al problema.
    Come posso fare?

    Grazie

  2. #2
    Puoi utilizzare http://www.php.net/session_name , http://www.php.net/session_id e
    http://www.php.net/setcookie per re-impostare il cookie ad ogni richiesta in modo da aggiornare di volta in volta la durata del cookie.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    Ho provato questo, ma non va...
    codice:
    session_set_cookie_params(60*60*24);
    session_start();
    Avete idea del perchè?

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non mi sembra molto sensato mantenere il cookie di sessione attivo per un giorno, visto che al 99% quella sessione verrà distrutta sul server dopo poche decine di minuti....

  5. #5
    Originariamente inviato da luca200
    Non mi sembra molto sensato mantenere il cookie di sessione attivo per un giorno, visto che al 99% quella sessione verrà distrutta sul server dopo poche decine di minuti....
    A meno che l'utente non continui ad accedere al sito modificando i dati in sessione oppure a meno di configurare il PHP per eseguire la garbage collection solo su file più vecchi di un giorno.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    Originariamente inviato da luca200
    Non mi sembra molto sensato mantenere il cookie di sessione attivo per un giorno, visto che al 99% quella sessione verrà distrutta sul server dopo poche decine di minuti....
    Ma scusa, se imposto la scadenza della sessione a 24h perchè dovrebbe cancellarla prima?

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da filippo.toso
    A meno che l'utente non continui ad accedere al sito modificando i dati in sessione oppure a meno di configurare il PHP per eseguire la garbage collection solo su file più vecchi di un giorno.
    Il primo caso che hai citato implicherebbe un accesso continuo al sito, il che significa non chiudere mai il browser, situazione nella quale non c'è motivo di manipolare il cookie di sessione rispetto a come è configurato di default.
    Per il secondo caso, come vedi, servirebbero conoscenze un po' più approfondite di quelle che abbiamo qui

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da GoldEmish
    Ma scusa, se imposto la scadenza della sessione a 24h perchè dovrebbe cancellarla prima?
    Tu hai parlato di impostare la scadenza del cookie di sessione, non della sessione.
    La sessione si trova sul server, e viene cancellata dopo tot tempo che non viene utilizzata. La durata di questo tot tempo dipende dalle impostazioni di php, tenendo presente che se le tue sessioni si trovano su una cartella condivisa da tutti i siti ospitati su quel servrer, è sufficiente che un solo sito imposti un valore più basso di quello standard (che è di 24 minuti, se non modificato), per far sì che le sessioni di tutti divengano cancellabili dopo quel tempo (in realtà la cancellazione non è matematica, ma legata ad un calcolo di probabilità che dipende da altri parametri di configurazione).
    Per sfuggire a questo meccanismo devi memorizzare le tue sessioni in un posto dove ci siano solo le tue, e a quel punto puoi gestirne la cancellazione come ti pare. Una buona soluzione è quella di metterle su db. Cerca sul forum, dovrebbe esserci qualcosa

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.