• User Newbie

    sessioni e sicurezza

    Buongiorno a tutti:)Vorrei sapere come si può fare per impedire a qualcuno di accedere a delle pagine riservate (in cui è possibile entrare solo facendo un login), semplicemente digitando il percorso in cui si trova, sulla barra degli indirizzi del browser. Forse è una domanda scema..... ma io non ho capito se il fatto di impedire l'apertura della pagina riservata ha qulcosa a che vedere con le sessioni o se queste non c'entrano nulla.:?

    Inoltre lo stesso problema mi si presenta quando esco da una pagina riservata facendo il logout...... se torno indietro con il tasto indietro del browser rivado tranquuillamente nella pagina riservata e questo non dovrebbe essere consentito.

    Qualcuno può darmi delle indicazioni in proposito?
    Grazie:)


  • User Attivo

    Per quanto riguarda l'accesso a pagine riservate io ti consiglierei questa procedura:

    • Crei una tabella dove conservi la sessione ogni volta che si collega un utente.
    • L'id della sessione oltre ad inserirlo nella tabella lo inserisci in un cookie

    A questo punto per vedere se un utente può accedere ad una pagina controlli se esiste il cookie e se l'id sessione presente nel cookie e presente anche nella tabella delle sessioni se no vai direttamente alla pagina di login.


  • Super User

    purtroppo a volte i cookie sono disabilitati dal client quindi la tua procedura rischia di non funzionare.

    la soluzione normalmente usata per gestire l'accesso ad un'area privata è proprio l'uso delle sessioni dove, nella pagina di validazioen nome utente e password verifichi che siano corretti e valorizzi una variabile di sessione come $_SESSION['login']=true, ed in TUTTE le pagine che stanno nell'area privata controlli che quella variabile esista e che sia valorizzata a true:

    
    $lLoginOk=false;
    
    if (isset($_SESSION['login']))
    $lLoginOk=$_SESSION['login'];
    
    if (!$lLoginOk)
    header('location: pagina_errore_login.php');
    
    
    

    :ciauz:


  • User Newbie

    @Tymba said:

    purtroppo a volte i cookie sono disabilitati dal client quindi la tua procedura rischia di non funzionare.

    la soluzione normalmente usata per gestire l'accesso ad un'area privata è proprio l'uso delle sessioni dove, nella pagina di validazioen nome utente e password verifichi che siano corretti e valorizzi una variabile di sessione come $_SESSION['login']=true, ed in TUTTE le pagine che stanno nell'area privata controlli che quella variabile esista e che sia valorizzata a true:

    >
    $lLoginOk=false;
    
    if (isset($_SESSION['login']))
    $lLoginOk=$_SESSION['login'];
    
    if (!$lLoginOk)
    header('location: pagina_errore_login.php');
    
    
    >``` 
    :ciauz:
    
    
    Grazie davvero tantassimo, stasera provo a farlo....:computer:

  • User Newbie

    @mimaki said:

    Grazie davvero tantassimo, stasera provo a farlo....💻

    Fatto....Funziona.....grazie di nuovo!:ciauz: