|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
[php] proteggere "bene" una cartella
Ciao a tutti!
Mettiamo che io abbia una pagina password.php con un form di invio password che mi serve per accedere a /cartella/admin.php La pagina /cartella/admin.php preleva la password tramite un semplice costrutto IF-ELSE e se è valida mostra la pagina. Mettiamo che in /cartella/admin.php ci siano vari link utili all'amministratore che anch'essi dovrebbero essere protetti, come ad esempio /cartella/pannello1.php /cartella/pannello2.php, ecc... come faccio a proteggere tutta la cartella senza impostare password ad ogni pagina? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Memorizzi nella sessione se l'utente è riuscito o meno ad avere accesso amministrativo.
Ad esempio: $_SESSION["isAdmin"] = 1; Nelle altre pagine controlli se $_SESSION["isAdmin"] esiste...se esiste allora permetti l'accesso alle pagine. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
un esempio di script?
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Feb 2004
Città: Rimini
Messaggi: 247
|
Se se su un hosting che ha effettuato il passaggio a php5 allora puoi usare questa,
http://www.phpclasses.org/browse/package/4125.html è una classettina che ho fatto tempo fa, nel readme trovi le istruzioni per utilizzarla. Ciao
__________________
"Se per caso il C non fosse sufficiente il Vero Programmatore lavorera' in assembler, se neppure questo fosse sufficiente allora il lavoro non e' fattibile, ma la cosa e' impossibile, un Vero Programmatore in C ed assembler puo' fare TUTTO, per definizione." |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
scusate se riapro questo vecchio post ma avrei bisogno di capire dove sbaglio.
pagina1.php <? session_start(); session_register("variabile"); $variabile = "ciccia"; echo "password esatta!<br /> <a href=\"pagina2.php\">test3</a>"; ?> pagina2.php <? session_start(); if ( !isset ($variabile) ) { echo "la sessione e' attiva"; } else { echo "la sessione non e' attiva"; } ?> Perché mi dice che la sessione non e' attiva? Ultima modifica di bouncey2k : 15-01-2008 alle 18:55. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Hai letto il mio post ? Non mi sembra guardando il tuo codice.
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non c'è altro da spiegare.
All'inizio del tuo codice crei la sessione con session_start(); come hai fatto nel codice che hai postato. Poi immetti le variabili nella sessione...la sessione è rappresentata dal vettore associativo $_SESSION. $_SESSION["var1"] = 1; immette la variabile var1 nella sessione. if ( isset($_SESSION["var1"]) ) { echo "la sessione e' attiva"; } else { echo "la sessione non e' attiva"; } |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
Ho fatto come mi hai detto, ma ho una domanda. Nella seconda pagina session_start() lo devo inserire?
Cmq sia che lo inserisco che non, se vado direttamente su pagina2.php mi dice "la sessione è attiva" (ho riavviato anche il browser), invece dovrebbe dirmi che non è attiva... |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
session_start va sempre messo.
No...se vai direttamente su pagina2 dopo che hai chiuso il browser ti dice che non è attiva perché nessuno ha immesso la variabile in $_SESSION. Se vai prima in pagina1 e poi in pagina2 funziona ? |
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
Ok, adesso pare funzionare. Ma c'è un modo per non far comparire nella barra degli indirizzi l'id della sessione?
pagina2.php?PHPSESSID=numero... |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Normalmente non dovrebbe comparire.
|
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il session id di default dovrebbe essere propagato tramite cookie, hai per caso toccato qualcosa in php.ini ? Hai i cookies attivi ?
|
|
|
|
|
|
#15 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:54.




















