HTML.it forum : Powered by vBulletin version 2.3.6 HTML.it forum > Lato server > PHP > Sessione scaduta!
Vai al forum:
Indietro   Ricarica   Avanti

 
Autore
Discussione    Invia una risposta
Chierico80
Utente di HTML.it



Registrato il: Mar 2004

Provenienza: Sassari

Messaggi: 178


ICQ:

MSN:

Skype:


Sessione scaduta!
Ritenevo che la logica delle sessioni fosse che un utente autenticato può navigare all'interno di pagine personali FINO a che rimane relativamente attivo, ovvero fino a che non passa un determinato tempo dall'ultimo comando inviato tramite browser.

Come è possibile allora che la mia sessione scada SEMPRE dopo tot secondi dalla creazione della sessione stessa?

Ecco il codice "preso da un articolo di questo sito":

codice PHP:

function auth_clean_expired(){
    global
$_CONFIG;
    
    
$result = mysql_query("SELECT creation_date FROM ".$_CONFIG['table_sessioni']." WHERE uid='".auth_get_uid()."'");
    if(
$result){
        
$data = mysql_fetch_array($result);
        if(
$data['creation_date']){
            if(
$data['creation_date'] + $_CONFIG['expire'] <= time()){
                switch(
auth_get_option("TRANSICTION METHOD")){
                    case
AUTH_USE_COOKIE:
                        
setcookie('uid');
                    break;
                    case
AUTH_USE_LINK:
                        global
$_GET;
                        
$_GET['uid'] = NULL;
                    break;
                }
            }
        }
    }
    
    
mysql_query("
    DELETE FROM "
.$_CONFIG['table_sessioni']."
    WHERE creation_date + "
.$_CONFIG['expire']." <= ".time()
    );
}


Ho provato entrambe le modalità, sia COOKIES che LINK, il risultato è sempre lo stesso.
Dopo 60 secondi dal login (tempo di default di fine sessione), quest'ultima scade.
Forse che questo codice debba funzionare proprio in questa maniera???
Help!

Segnala ad un moderatore | IP: Collegato | Permalink

Chierico80 è offline Old Post 09-03-2005 21:46
Clicca qui per vedere il profilo dell'utente Chierico80 Clicca qui per inviare all'utente Chierico80 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente Chierico80 Aggiungi l'utente Chierico80 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
marketto
Moderatore di Server Apache, Elettronica e Hi-Tech



Registrato il: Sep 2001

Provenienza: Vicenza

Messaggi: 5798


ICQ :

MSN :

Skype :


per aumentare la durata della sessione devi modificare questo parametro nel file config.php:
codice:
$_CONFIG['expire'] = 60;




__________________
Non vogliamo altre basi militari a Vicenza - think simple think ringo

Segnala ad un moderatore | IP: Collegato | Permalink

marketto è offline Old Post 09-03-2005 23:57
Clicca qui per vedere il profilo dell'utente marketto Clicca qui per inviare all'utente marketto un messaggio privato Visualizza ulteriori messaggi scritti dall'utente marketto Aggiungi l'utente marketto alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Chierico80
Utente di HTML.it



Registrato il: Mar 2004

Provenienza: Sassari

Messaggi: 178


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da marketto
per aumentare la durata della sessione devi modificare questo parametro nel file config.php:
codice:
$_CONFIG['expire'] = 60;



Quello ok, normale.. ma non è possibile che la sessione scada anche se l'utente è attivo all'interno del sito!
Così invece accade.
Dopo 60 secondi c'è bisogno di autenticarsi nuovamente.
Come faccio a imporre che la sessione scada SOLO se passano più di 60 secondi dall'ultima azione dell'utente?

Segnala ad un moderatore | IP: Collegato | Permalink

Chierico80 è offline Old Post 10-03-2005 07:43
Clicca qui per vedere il profilo dell'utente Chierico80 Clicca qui per inviare all'utente Chierico80 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente Chierico80 Aggiungi l'utente Chierico80 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
mircov
Utente di HTML.it



Registrato il: Oct 2002

Provenienza:

Messaggi: 4700


ICQ :

MSN : mircov@msn.com

Skype : Adamo.Crespi


Ora non ricordo molto bene ma se non sbaglio il sistema utilizza il db. Memorizza la data e la funzione di GarbageCollection cancella tutte l sessioni scadute dal db.

Devi fare in modo che ad ogni azione (Quindi al caricamento di ogni nuova pagina) la colonna che memorizxza data ed ora di registrazione venga aggiornata.

Segnala ad un moderatore | IP: Collegato | Permalink

mircov è offline Old Post 10-03-2005 09:42
Clicca qui per vedere il profilo dell'utente mircov Clicca qui per inviare all'utente mircov un messaggio privato Visita l'homepage dell'utente mircov Visualizza ulteriori messaggi scritti dall'utente mircov Aggiungi l'utente mircov alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Chierico80
Utente di HTML.it



Registrato il: Mar 2004

Provenienza: Sassari

Messaggi: 178


ICQ :

MSN :

Skype :




Allora:

Ogni volta che un comando viene impartito al sistema tramite browser, carimento nuova pagina o altro, aggiorno il campo creation_date con la data corrente.

Ritenete sia giusto fare così o esiste una maniera più ordinata?

L'istruzione per aggiornare la pagina la metterei all'inizio di ogni pagina protetta, pensate sia corretto?
Magari evito che la "stessa" pagina ricaricata possa aggiornare la data.
Boh, aspetto suggerimenti

Segnala ad un moderatore | IP: Collegato | Permalink

Chierico80 è offline Old Post 10-03-2005 10:00
Clicca qui per vedere il profilo dell'utente Chierico80 Clicca qui per inviare all'utente Chierico80 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente Chierico80 Aggiungi l'utente Chierico80 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
mircov
Utente di HTML.it



Registrato il: Oct 2002

Provenienza:

Messaggi: 4700


ICQ :

MSN : mircov@msn.com

Skype : Adamo.Crespi


Si, devi mettere il codice per aggiornare la data all'inizio di ogni pagina èprima di fare qualsiasi operazione. Anche se l'utente magari non è autorizzato a vedere una determinata pagina, infatti, cmq ha eseguito un operazione e quindi significa che sta ancora navigando nel sito.

Per la seconda domanda la risposta è no: non c'è una maniera più ordinata.
Magari potresti ordinare il tutto creando una funzione apposita.

Segnala ad un moderatore | IP: Collegato | Permalink

mircov è offline Old Post 10-03-2005 10:29
Clicca qui per vedere il profilo dell'utente mircov Clicca qui per inviare all'utente mircov un messaggio privato Visita l'homepage dell'utente mircov Visualizza ulteriori messaggi scritti dall'utente mircov Aggiungi l'utente mircov alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Tutte le ore sono con fuso orario CET. Ora sono le 21:47.    Invia una risposta
  Ultima discussione   Prossima discussione
Versione per la stampa | Invia il thread via email | Ricevi aggiornamenti sul thread | Scarica il thread

Vai al forum:
 
Cerca nel thread:

Forum Rules:
Puoi not aprire nuove discussioni
Puoi not rispondere ai messaggi
Puoi not inserire allegati
Puoi not modificare i tuoi messaggi
Il codice HTML è opzione non attiva
Il codice vB è opzione attiva
Le faccine sono opzione attiva
Il codice [IMG] è opzione attiva