- Home
- Categorie
- Coding e Sistemistica
- PHP
- sessioni e sicurezza
-
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:)
-
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.
-
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');
-
@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:
-
@mimaki said:
Grazie davvero tantassimo, stasera provo a farlo....
Fatto....Funziona.....grazie di nuovo!