|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2002
Città: Monza
Messaggi: 598
|
[php/html/web] proteggere le immagini
ciao amici,
ho fatto un sito in cui solo i membri registrati possono accedere alle immagini (foto), in php tutto funziona, ho creato una pagina dal nome "visualizza.php" a cui viene passato l'id della foto e il sistema verifica se l'utente è registrato (db+session) e da o meno il consenso alla visualizzazione. Ho notato però che se faccio una ricerca per immagini su google le foto me le trova con il relativo percorso, sicuramente perchè il mio sito è stato indicizzato PRIMA che realizzassi il sistema di login. Uso altervista. Ho visto che posso mettere una password sulla cartella "foto", ma ogni volta che un utente deve visualizzare una foto (essendosi loggato correttamente) il sistema richiede la password di altervista. Si può evitare questo? GRazie
__________________
Nunc est bibendum |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Basta mettere le foto in una cartella non accessibile dalla gerarchia del server web...
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Quote:
![]() Mi sfugge il passaggio... Se la metti in una cartella non accessibile, come puoi farla visualizzare a chi ne ha diritto? Fai un codice PHP che legga il file e lo butti nello stream verso il browser? |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() Basta inviare il giusto Content-Type nell'header, controlli le credenziali dell'utente (nella sessione o nei cookie) e poi prendi il file pari pari e lo metti nello stream di uscita con readfile... |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Quote:
E' praticamente la stessa cosa che faccio in Java per i PDF, non mi ero mai posto il problema per le immagini ![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2002
Città: Monza
Messaggi: 598
|
fermi tutti, che qui mi sono perso.
In pratica dovrei mettere le immagini in una cartella protetta? se no cosa vuol dire "...una cartella non accessibile dalla gerarchia del server web..." ? Provo a inserire un elemento che può far luce: se scrivo l'url: http://nomesito.altervista.org/images/photo non si vede la "directory" con tutti i file della cartella photo, basta questo? Punto secondo, cosa vuol dire "...prendi il file pari pari e lo metti nello stream di uscita con readfile....."? Sarebbe che esistono comandi che mi permettono di caricare in qualche modo il file in una struttura php e poi ritrasformarla in immagine? in termini di codice di programmazione? Scusate tantissimo, ma su questi aspetti sono veramente agli inizi, grazie
__________________
Nunc est bibendum |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non c'è alcun bisogno di "trasormarlo" in immagine...basta impostare il Content-Type giusto (rispetto al tipo dell'immagine) con la funzione header...
Poi dopo bata mandare in output il file relativo all'immagine, così come, preso per intero dal disco... Un cartella come questa: http://nomesito.altervista.org/images/photo sarebbe troppo banale... Basta guardare il parametro passato ad image.php (il file php che carica le immagini) e aggiungerlo al path sopra per accedere alle immagini... L'ideale sarebbe avere una cartella non accessibile dal web (se il server web ha la sua directory base in /usr/tuonome/htdocs/, l'ideale sarebbe avere a disposizione le immagini in /usr/tuonome/images/), ma solitamente non è disponibile una cartella del genere negli hosting free, ma anche a pagamento (per alcuni c'è una cartella cgi-bin su cui il server web non può accedere direttamente ai file in lettura)... A questo punto serve una strategia diversa... Crei una cartella con un nome molto complesso: /h5432dfasdf543/ e metti le immagini lì dentro... |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Quote:
Se uno ci aggiungesse un .htaccess, non dovrebbe avere ancora maggiore sicurezza? Se non sbaglio l'.htaccess blocca l'accesso al browser, non alle applicazioni sul server, così le immagini sarebbero servite senza richiesta di ulteriori password se elaborate dal codice php, mentre occorrerebbe una password per accedere direttamente alla cartella. |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:40.