Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Community > Tech
 
[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

Renaulto
http://httpd.apache.org/docs/howto/htaccess.html

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate