è impossibile impedire a chiunque di salvarsi una copia di una immagine visualizzata dal vostro sito.
una semplice immagine come tag HTML è impossibile da proteggere, una volta caricata sul browser basterà fare click con il tasto destro del mouse e poi "Salva immagine..." per farsene una copia.
un qualunque script di protezione o una applet o un oggetto flash eliminano questa semplicità ma basterebbe utilizzare un qualunque programma per la copia di porzioni grafiche di schermo.
SEMPRE E COMUNQUE tutto ciò che viene visualizzato sul Browser può essere salvato su disco.
quello che intendiamo come "Protezione Immagini" è un sistema che impedisca a chiunque di "copiarsi" automaticamente e senza alcuno sforzo le centinaia di MB di immagini che gestite sul vostro sito.
è il divertimento preferito di molte persone quello di "copiare" il lavoro degli altri per poi costruirsi un sito "concorrente" senza alcuna fatica.
se io conosco l'indirizzo URL di una immagine contenuta nel vostro catalogo e conosco anche il sistema di catalogazione posso preparare una bella lista di tutte le immagini in un file che poi darò in pasto ai vari programmini per downloads automatici.
mettiamo che nel tuo catalogo hai:
http://pippo.altervista.org/image/immagine0001.jpg
http://pippo.altervista.org/image/immagine0002.jpg
http://pippo.altervista.org/image/immagine0003.jpg
http://pippo.altervista.org/image/immagine...
http://pippo.altervista.org/image/immagine7898.jpg
ecc...ecc...
capirete la facilità per chiunque di scaricarsi l'intero catalogo senza nemmeno degnarsi di visitare le pagine del vostro sito.
dunque vediamo come fare ad impedire un downloads a tappeto di tutte le vostre immagini:
- Dovrete inserire le immagini dentro a cartelle con nomi di difficile "individuazione"...esempio:
http://pippo.altervista.org/miaareaimmaginiprotette/
non usate nomi per la cartella come "images" o "immagini" o "grafica" per intenderci.
- In nessun modo dovrete inserire il link diretto a queste immagini nei vostri scripts...cioè non dovrete scriverle come:
<img src="http://pippo.altervista.org/miaareaimmaginiprotette/immagine.jpg">
al posto del semplice URL dell'immagine dovrete utilizzare un link ad uno script PHP costruito appositamente per la visualizzazione e il metodo è il seguente:
<img src="imageload.php?imagename=immagine0001<?php print("&idim=".sha1("immagine0001password"));? >" border="0" alt="">
vediamo in dettaglio cosa significa:
imagename = Nome del file di immagine da visualizzare senza estensione
questo: <?php print("&idim=".sha1("immagine0001password"));& gt;
non è altro che la costruzione di un "codice" univoco costruito dal NOMEIMMAGINE+PASSWORD che sarà poi passato alla pagina IMAGELOAD come parametro "idim".
non dovete fare altro che mettere una qualunque sequenza di caratteri al posto di "password" (naturalmente dovrete usare sempre la stessa per tutti i links alle immagini)
a questo punto vediamo che cosa farà il nostro "loader" e cioè la pagina IMAGELOAD.PHP:
// codice di IMAGELOAD.PHP
<?php
// ricalcolo il codice univoco per la verifica autorizzazione
$calcsha1 = sha1($HTTP_GET_VARS['imagename']."password");
if($calcsha1==$HTTP_GET_VARS['idim']) // autorizzazione concessa
{
// posso inviare al client l'immagine richiesta
$nomefile="miaareaimmaginiprotette/".$HTTP_GET_VARS['imagename'].".jpg";
$img = imagecreatefromjpeg ($nomefile);
header ("content-type: image/jpeg");
imagejpeg ($img,0);
imagedestroy($img);
}
?>
chiaramente questo è solo un esempio di codice per visualizzare immagini in formato JPEG, per poter visualizzare anche GIF necessita di ulteriori modifiche. Inoltre lo si può modificare ad esempio per mostrare una immagine di "Accesso Negato" in caso si sia tentato di aggirare la protezione, oppure migliorando il codice univoco per dargli anche una "scadenza" in base alla data e ora di sistema (se si usa anche una scadenza per il codice si può impedire il funzionamento di links esterni al vostro sito sulle immagini del catologo).
in pratica con questo sistema solo se si conosce il CODICE univoco si possono visualizzare le immagini dal vostro sito, e quindi per chiunque sarà impossibile conoscere a "priori" tutti i codici che servono per visualizzare e scaricare l'intero catalogo.
quello sopracitato non è l'unico metodo di protezione immagini ma è molto semplice da usare ed è quello che utilizzo io e credo quindi che sia TESTATO al punto giusto per tutti gli utenti di AV.
:D :D :D
NB: le immagini caricate attraverso IMAGELOAD.PHP non sono mai ripescate dalla cache del Browser.