PDA

View Full Version : [PHP] obbligare redirect ad una pagina


Mikon
10-01-2007, 16:41
Ciao a tutti.

Sto realizzando il progetto per l'esame di laboratorio di basi di dati ed
avrei un problema che non riesco a risolvere.

In pratica devo realizzare una specie di pannello di controllo che
serve ad un utente per interagire con un db. Ora per accedere a questo
pannello ho realizzato una pagina in cui fare un login e l'ho chiamata
Controllo.php
Ora vorrei che quando si carica la pagina con il pannello ci sia
all'inizio una verifica per vedere se l'utente proviene da
Controllo.php e in caso negativo fare un redirect a questa pagina
senza che il pannello venga caricato.

In pratica vorrei evitare che una persona che non abbia fatto il login
acceda direttamente alla pagina pannello.php scrivendo direttamente
l'indirizzo nel browser.


Grazie mille per l'aiuto !

andbin
10-01-2007, 17:08
Sto realizzando il progetto per l'esame di laboratorio di basi di dati ed
avrei un problema che non riesco a risolvere.

In pratica devo realizzare una specie di pannello di controllo che
serve ad un utente per interagire con un db. Ora per accedere a questo
pannello ho realizzato una pagina in cui fare un login e l'ho chiamata
Controllo.php
Ora vorrei che quando si carica la pagina con il pannello ci sia
all'inizio una verifica per vedere se l'utente proviene da
Controllo.php e in caso negativo fare un redirect a questa pagina
senza che il pannello venga caricato.

In pratica vorrei evitare che una persona che non abbia fatto il login
acceda direttamente alla pagina pannello.php scrivendo direttamente
l'indirizzo nel browser.La tua, permettimi di dirlo, non è una buona soluzione.
Sapere da quale pagina si proviene, tecnicamente è possibile, basta usare la variabile $_SERVER['HTTP_REFERER']. Il fatto è che tale informazione viene inviata dal client (il browser tipicamente) e quindi ci si dovrebbe basare sulla affidabilità del client. Però chiunque potrebbe alterare le informazioni con un proxy, con richieste apposite fatte con un programma specifico, o in mille altri modi.
Quindi il tuo pannello di controllo avrebbe un bel buco di sicurezza.

Queste cose si fanno utilizzando le sessioni. Se ad esempio una certa variabile di sessione non esiste, allora presenti un form di login. Quando l'utente invia le sue credenziali, lo script le verifica e se sono ok, imposta questa variabile di sessione.
A quel punto il test iniziale dice che la variabile di sessione esiste, quindi mostri il tuo pannello e quant'altro.

Poix81
11-01-2007, 09:35
pure io ti consiglio di usare le sessioni.
sono la cosa piu' semplice e sicura.

oltretutto, col REFER ti toccherebbe cambiare il nome della pagina da controllare se decidessi di cambiare il nome della pagina di login :)

ciao ciao