On Wednesday 4 March 2009 21:33:47 Amedeo Viscido wrote:
> Ciao a tutti,
> volevo chiedere il vostro parere a riguardo una questione abbastanza
> semplice (credo).
>
> Ho una pagina php con un campo password; se l'utente digita bene la
> password, inizializzo una variabile $_SESSION['pippo'], senza fare
> nient'altro.
>
> Un'altra pagina (che non è linkata da nessuna parte ed il cui nome cambia
> di giorno in giorno) visualizza dei dati solo se la variabile pippo è
> inizializzata (controllo che isset($_SESSION['pippo']) sia vera)
>
> E' possibile, conoscendo il nome della variabile, forzarne
> l'inizializzazione?
> Supponiamo che qualcuno trova la pagina nascosta: se la variabile non è
> stata inizializzata, gli viene mostrato un messaggio di errore 404.
> Mi chiedo, è possibile dal lato client sapere che la pagina php cerca di
> controllare se la variabile pippo è settata? Perché se si, bastarebbe
> settare la variabile per abilitare l'accesso alla pagina "magica"!

Questa pratica si chiama security through obscurity, ed è da considerarsi poco 
sicura. Io metterei una password 'sicura' alla pagina di display, in modo da 
verificarne l'accesso.

Per quanto riguarda le variabili di sessione sono sicure, a meno che tu non 
abbia un server con Register Global ad 'on' (o un qualche hack per simularlo, 
vedi phplist).

my 2 cent

-- 
g4b0, linux user n. 369000
http://gabo.homelinux.com
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a