Newsgroup: it.comp.www.php
Titolo: 'camuffare' url immagini stampate in una pagina html

ciao ragazzi..
io ho alcune pagine php nelle quali stampo del semplice codice html,
del tipo:
<?php
echo "<img src=\"images/logo.jpg\" />";
?>
il problema è che così spulciando il codice sorgente della pagina, si
vede chiaramente l'indirizzo dell'immagine..
io dovrei invece nascondere quell'indirizzo.. si può fare in php?


se il file non risiede nel tuo server penso propio di no O.o
ciauz

io dovrei invece nascondere quell'indirizzo.. si puň fare in php?
Per esempio puoi fare
	<img src="images.php?file=logo.jpg" />
e poi in un file images.php mandare un header Location, oppure meglio
leggere il file a dritto con readfile().
<?php
	$img = isset($_GET['file']) ? $_GET['file'] : 'blank.jpg';
	$img = './secret_images/' . basename($img);
	if (!file_exists($img))
		$img = './secret_images/blank.jpg';
	// Qui si puo' aggiungere un controllo anti-hotlink su Referer,
	// e/o con cookie di sessione o sperando in HTTP/1.1 KeepAlive.
 
	// Se tutto va bene si invia il file.
	Header('Content-Type: image/jpeg');
	readfile($img);
?>
Leonardo
-- 
And where the black and corkscrew towers climb,
Lost and athirst the ragged pack abides,
Old as the aeons, trapped in tombs of time,
Sailing the tortuous temporal tides


non sempre il file e la pagina che esegue lo script php sono sullo
stesso server..
in pratica mi serve per un servizio online che stò facendo, dove sul
mio server ho le varie cartelle immagini suddivise, ad esempio, così:
www.example.com/utenti/pippo/images/
www.example.com/utenti/pluto/images/
www.example.com/utenti/gianni/images/
e quell'indirizzo vorrei che non fosse visibile.. proverò con il
metodo proposto da leonardo

stesso server..
Allora devi usare il Location, devi essere sicuro che l'immagine non sia
su un server protetto da hotlinking o con un admin stronzolo - si chiama
NAS, "Network Attacked Storace" <g> - oppure vederti dimezzare la banda,
dato che anche avendo i sock_wrapper sul tuo server, meta' banda serve a
te per inviare l'immagine al client, e meta' per prenderla da dove sta.


 io dovrei invece nascondere quell'indirizzo.. si puň fare in php?
potresti visualizzare le immagini tramite css
-- 
Web marketing & community management:
http://www.insistema.com/

grazie ragazzi per l'attenzione, davvero
il metodo del file php con il Location credo che sia la soluzione più
funzionale..
anche se, con questo metodo, purtroppo rimarrà sempre visibile l'url
dell'immagine nel codice della pagina:
<img src="hex2.php?file=barra.jpg" alt="immagine prova" />
credo che farò una cartella 'loader' che i nostri clienti upperanno
sul loro server, contenente questo (e altri dal funzionamento analogo)
file.. tutte le immagini saranno circa
<img src="
http://www.sitodelmiocliente.it/loader/img.php
?
d=73741ea570def1d114a9ac9bb6726916&b=d627f44819e0cdb235a1ba10dc32df2e&n=cd758e8f59dfdf06a852adad277986ca"
alt="immagine prova" />
in modo da tenere nascostianche i nomi del fiel (vabhè ora quelle
stringhe sono random md5, vedrò di utilizzare una criptazione che
permetta anche la decriptazione nella verisone finale)
grazie!

dell'immagine nel codice della pagina
Se e' per quello rimane anche l'URL dell'immagine nelle proprieta' della
immagine stessa (visibili in N modi: tasto destro, Firebug, cache...).
