[WEB] Immagini e password Clicca QUI per vedere il messaggio nel forum |
Hamelin |
Ho protetto alcune pagine del mio sito con una password (tramite un paio di righe in php)... per rendere private delle fotogallery... ora, il mio problema è: come faccio ad impedire che qualcuno, conoscendo il percorso esatto dell'immagine sul server, la possa vedere comunque, infischiandosene della password?? |
0m4r |
non so come funzioni php, ma credo tu debba usare le sessioni.
Piu o meno il procedimento potrebbe essere questo:
nella pagina di login fai inserire usr e pwd, se sonoi corrette memorizzi nella variabile di sessione che l'utente è loggato. A questo punto, in ogni nuva pagina in cui l'utente si dirigerà dovrai fare un controllo che verifichi se la variabile di sessione è valida oppure no, se non lo è neghi l'accesso altrimenti lasci che tutto funzioni...non sono stato chiarissimo nè? |
unidavide |
Originally posted by 0m4r
non so come funzioni php, ma credo tu debba usare le sessioni.
Piu o meno il procedimento potrebbe essere questo:
nella pagina di login fai inserire usr e pwd, se sonoi corrette memorizzi nella variabile di sessione che l'utente è loggato. A questo punto, in ogni nuva pagina in cui l'utente si dirigerà dovrai fare un controllo che verifichi se la variabile di sessione è valida oppure no, se non lo è neghi l'accesso altrimenti lasci che tutto funzioni...non sono stato chiarissimo nè? non penso che questa soluzione funzioni, se uno sa cmq l'indirizzo dell'immagine riesce a vederela lo stesso, una soluzione che mi viene in mente è questa:
metti le immagine in una directory che non sta sotto la document_root o che cmq l'accesso sia negato con
Deny from all
dopo fai un file php a cui passi il nome dell'immagine
visualizza.php?img=foto.jpg
con dentro:
header('Content-type: image/jpg');
readfile('PERCORSO FILE SYSTEM'.$_GET['img']);
piu o meno dovrebbe essere cosi, in questo modo è php che prende l'immagine dalla cartella a cui uno non ha accesso e la manda in output
magari c'è anche una soluzione piu semplice |
recoil |
puoi sempre mettere l'immagine in un DB in modo che non esista proprio il percorso
non so quanto sia buona sta idea però... |
Rocco.Li |
La soluzione di Unidavide e' la soluzione piu' semplice, la pagina PHP/ASP/JSP (come vuoi) verifica la validita' della variabile di sessione impostata al login, visualizzando l'immagine (ergo genera uno stream http verso il client dell'immagine letta da disco) oppure reindirizza l'utente verso una pagina di errore.
nelle pagine che hanno il tag img dovrai inserire:
<img src="getimage.asp?file=pippo.jpg" />
ovvero non il percorso assoluto dell'immagine ma il richiamo alla pagina di visualizzazione. |
mrcnet |
Originally posted by recoil
puoi sempre mettere l'immagine in un DB in modo che non esista proprio il percorso
non so quanto sia buona sta idea però...
esatto.. l'idea diventa buona nel momento in cui encodizzi l'immagine e la richiami da database.. poi dipende anche da che immagini sono.. altrimenti la soluzione piu semplice in questi casi è far stampare in automatico il tuo logo sull'immagine |
Hamelin |
Grazie dell'aiuto... domandina da ignorante: come faccio a vietare l'accesso ad una cartella (il "deny from all" di cui parla unidavide)?
Grazie a tutti! |
DeepBlue |
con .htaccess :) |
Hamelin |
...mi sento sempre più ignorante...
Sarebbe a dire? |
unidavide |
Originally posted by Hamelin
...mi sento sempre più ignorante...
Sarebbe a dire? devi creare un file di testo nella cartella dove ci sono le immagine che si deve chiamare .htaccess e dentro ci devi scrivere
Deny from all
prova a entrare in quella cartella e ti dovrebbe dare un errore dicendo che non hai i permessi, funziona solo se apache è stato configurato per considerare i file .htaccess presenti nelle directory |
|
|
|