Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    la sessione scade ma l'utente 'invisibile' naviga, ma senza i suoi dati!

    ciao,
    ho un problema che nn mi era mai capitato ...
    mettiamo caso (tipo il mio ) che un utente si logghi !
    una volta loggato partono le sessioni e mi trascino dietro n dati del'utente.

    ora mi sono accorto che una volta scaduta la sessione per il tempo trascorso l'utente può continuare a navigare nel sito senzas problemi , l'unico problema e che quando cerca di creare o modificare alcune sue tabelle non lo fà.
    o meglio i comandi di crea e modifica vengono presi ma senza trovare un corrispondente (visto che le sessioni sono scadute) . come posso far si che una volta scadute le sessioni l'utente venga 'sbattuto fuori' alla pagina di login?
    poi altra domandina sempre riguardante questo problema ... se io conosco l'url (intendo un url successivo al login ) lo inserisco all'interno della barra io vorrei che (non avendo una sessione) lo sbatta in automatico alla pagina di login!

    qualcuno a qualceh idea?

    Grazie ... cia

  2. #2
    una soluzione è mettere un controllo all'inizio di ogni pagina che guarda se la sessione è attiva o no. Se non è attiva lo reindirizzi alla pagina login (con la funzione php header() ad esempio)

  3. #3
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    immaginavo che ci volesse una cosa del genere in entrambi i casi.

    ora però non capisco come mai non la prende ,
    io ho una variabile in sessione caricata appena l'utente fa l'accesso
    $_SESSION['id'].

    la mia pagina si porta tramite get l'id dell'utente

    xxxx.php?id_user=$_SESSION[id].

    in ogni pagina prelevo la user_id dal get

    $idutente = $_GET[id_user];

    e poi la confronto con la sessione

    if ($idutente != $_SESSION['id']){
    //esci dal sito e avverti l'utente della sessione scaduta
    }

    cosi facendo pensavo di risolvere il problema sia della sessione che scadeva sia di un utente che decidesse via get di cambiare numerino di id...
    ma non funziona...

    dove sto sbagliando?

  4. #4
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    up

  5. #5
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    up

  6. #6
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ho risolto in questa maniera ma ho ancora un problema , quello di quando scade la sessione...

    Codice PHP:

    $idus 
    $_SESSION['id'];
    $idget $_GET['id_user'];
    if (
    $idus != $idget){
        echo 
    "<meta http-equiv=\"refresh\" content=\"0;url=errori/session_error.php\" />";
        } 
    come faccio a verificare la sessione scaduta dopo un lasso di tempo???

  7. #7
    Per verificare se la sessione è scaduta devi semplicemente fare un controllo sull'array:
    Codice PHP:
    if (!isset($_SESSION['id'])) 
    in tal caso è scaduta.
    'Scaduta' significa che le variabili al suo interno non sono settate o non ci sono proprio. Se può servire a farti capire meglio: http://php.net/manual/en/function.session-destroy.php

  8. #8
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ho trovaato una soluzione anche se secondo me un po malsana , ma funziona

    ho inserito $idget e $idus

    get sta ovviamente alla query string
    e us alla sessione

    queste 2 variabili le istanzio nellla mia index ed a ogni reindirizzamento verifico inserisco via querystring idget

    nella index che per lo piu sono caricate li le pagine tranne le parti di model ho creato questo confronto se $idget è uguale a $idus se non fosse esco dalla pagina e riporto alla login , secondo voi puo funzionare o sarebbe meglio di no?

    tra l'altro anche questo controlla oltre alla manomissione del get anche la scadenza della sessione!

    ciao!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.