Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Le Sessioni hanno una scadenza?

    Volevo chiedere una cosa: ma una volta aperta una sessione questa non scade più fin quando non faccio "session_destroy()"?
    VVoVe:
    fatemi sapere

  2. #2
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788

    Re: Le Sessioni hanno una scadenza?

    [supersaibal]Originariamente inviato da Insaponata
    Volevo chiedere una cosa: ma una volta aperta una sessione questa non scade più fin quando non faccio "session_destroy()"?
    VVoVe:
    fatemi sapere [/supersaibal]
    Le sessioni ove non specificato diversamente scadono dopo 20 minuti di mancata trasmissione di dati tra client e server, o quanto chiudi la finestra del browser
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  3. #3
    come faccio a specificare diversamente? mica devo cambiare le impostazioni del server? e se si, non c'è un modo per farlo da codice?
    grazie

  4. #4
    [supersaibal]Originariamente inviato da Insaponata
    come faccio a specificare diversamente? mica devo cambiare le impostazioni del server? e se si, non c'è un modo per farlo da codice?
    grazie [/supersaibal]
    le variabili per sessioni sono del tipo php_ini_all e quindi dovresti poterle impostare nei tuoi script. Qui hai l'elenco delle opzioni. Quelle di sessione iniziano per session.*

    http://it.php.net/manual/it/function.ini-set.php


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

  5. #5

    Re: Le Sessioni hanno una scadenza?

    [supersaibal]Originariamente inviato da Insaponata
    Volevo chiedere una cosa: ma una volta aperta una sessione questa non scade più fin quando non faccio "session_destroy()"?
    VVoVe:
    fatemi sapere [/supersaibal]
    Ciao,
    cercando nel forum con parole chiave "scadenza sessioni" ho trovato.....
    http://forum.html.it/forum/showthrea...denza+sessioni
    per favore NIENTE PVT TECNICI da sconosciuti

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: Re: Le Sessioni hanno una scadenza?

    [supersaibal]Originariamente inviato da Inoki
    Le sessioni ove non specificato diversamente scadono dopo 20 minuti di mancata trasmissione di dati tra client e server, o quanto chiudi la finestra del browser
    [/supersaibal]
    Non è esatto.
    La sessione si basa su un meccanismo, che normalmente utilizza i cookie, e che è fondato essenzialmente su due componenti: quella del client (il browser) e quella del server. Ciò significa che la sessione rimane aperta fino a quando sia il browser che il server sono in grado di utilizzarla.

    Il browser è in grado di utilizzarla fino a quando è in grado di rispedire al server il cookie relativo: siccome, per default, il cookie di sessione ha validità 0, quando il browser viene chiuso la sessione sparisce. Questo meccanismo consente anche all'utente di tenere aperte due (o +) sessioni distinte con due distinte finestre del browser.
    E' tuttavia possibile fare in modo che il cookie di sessione abbia una durata prestabilita nel tempo: questa possibilità è gestita dal valore session.cookie_lifetime di php.ini, e permette di stabilire la durata in secondi della sessione. Il suo valore di default è, appunto, 0. Se viene impostato un valore diverso il cookie verrà scritto dal browser sul filesystem e questo farà sì che ogni finestra aperta del browser veda la stessa sessione.
    E' anche possibile usare un sistema alternativo ai cookie per mantenere viva una sessione, cioè l'invio del session id attraverso gli URL. In questo caso spariscono tutti i discorsi sui cookie e nascono problematiche diverse.

    Dal punto di vista del server bisogna considerare il valore session.gc_maxlifetime, che indica la durata di una sessione in secondi rispetto all'ultimo accesso o modifica. Il valore di default è 1440, cioè 24 minuti. Questo però non significa che dopo questo tempo la sessione diventi automaticamente non più valida: c'è infatti da considerare un altro fattore, quello del garbage collector.
    Il garbage collector è una routine di php che, in occasione di ogni session_start, può essere chiamata ad eliminare le sessioni scadute. La probabilità che ciò avvenga è determinata da altri due valori di php.ini: session.gc_probability e session.gc_divisor. I loro valori di default sono rispettivamente 1 e 100, il che significa che la probabilità che il garbage collector venga scatenato sono dell'1% ad ogni inizializzazione di sessione. Quindi non è affatto sicuro che la sessione vada persa dopo 24 minuti, o il tempo prestabilito.

    Tutti questi valori di php.ini possono essere modificati anche da script, con la funzione ini_set. Ad esempio

    ini_set("session.gc_maxlifetime", 1800)

    imposterebbe a 30 minuti la "scadenza" del file di sessione.
    Tuttavia non sono affatto certo di quali effetti possano realmente avere tali istruzioni da script, in quanto mi pare che un'impostazione fatta con ini_set rimanga valida solo all'interno dello script che l'ha eseguita, mentre qui abbiamo impostazioni che hanno il loro effetto su un ciclo di vita più ampio.

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.