[.htaccess] Fermare l'hotlinking
Non sono un esperto del modulo mod_rewrite e di espressioni regolari, però ho messo in atto quello che ho letto in svariate guide per la prevenzione dell'hotlinking.
Inline linking (also known as hotlinking, leeching, piggy-backing, direct linking, offsite image grabs and bandwidth theft) is the use of a linked object, often an image, from one site into a web page belonging to a second site. The second site is said to have an inline link to the site where the object is located. Fonte: Wikipedia.
Mettiamo che sul vostro sito abbiate una directory (la chiameremo img
) contenente tutte le vostre immagini del vostro sito.
Mettiamo anche che abbiate un'altra directory (chiamata refrerring
) contenente immagini che possono essere linkate da un server esterno al vostro.
Il codice da mettere in un file .htaccess (che andrà posizionato nella directory img
) sarà il seguente:
RewriteEngine OnBreve esamina del codice:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*jpeg$|.*gif$|.*png$ [NC]
RewriteCond %{HTTP_REFERER} !^http://chris\.delfinsblog\.it/ [NC]
RewriteCond %{HTTP_REFERER} !^http://bytestrike\.blogspot\.com/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /TANK/referring/dontstealband.image
- la prima riga attiva il modulo mod_rewrite.
- La seconda permette di mostrare le immagini a chi si collega direttamente al vostro sito (e quindi ha il campo di referring vuoto ovviamente).
- La terza riga applica la regola solo per le richieste di files che terminano con le estensioni specificate. Sarà possibile quindi indicare anche altri files.
- La quarta riga permette di visionare le immagini per coloro che stanno navigando il nostro sito.
- La quinta permette l'hotlinking per il blog amico specificato.
- La sesta mostra un'immagine segnaposto con un simpatico messaggio invece dell'immagine richiesta.
Esempio 2: per testare se è permesso o meno l'hotlinking di un'immagine inserite il vostro URL (come quello qui sotto) in questo sito (in fondo alla pagina). Se l'hotlinking è permesso, verrà visualizzata l'immagine desiderata altrimenti il segnaposto.
http://chris.delfinsblog.it/TANK/img/chris2.jpgLink interessanti
Segnalo un po' di links interessanti sull'argomento:
17:47
|
Categorie:
programmazione,
tutorial,
web development
|
This entry was posted on 17:47
and is filed under
programmazione
,
tutorial
,
web development
.
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
2 comments:
Con un'estensione per FF come Refcontrol credo che non funzioni questo trucchetto. L'estensione in pratica modifica il referrer, impostandolo automaticamente con il dominio al sito a cui fai l'http request. Chi fa un sito sicuramente non può pretendere che i visitatori abbiano tutti Refcontrol, tuttavia se si parla di un forum di smanettoni la cosa è più plausibile....
Si è probabile, anche se non certo visto che non ho provato. Il punto però non è impedire alla gente di visualizzare le immagini, ma dissuadere la gente dal linkare direttamente un'immagine che non risiede sui loro server.
A questo punto il sedicente webmaster dovrebbe consigliare a tutti i suoi visitatori di usare tale estensione per vedere le immagini...poco realizzabile,fai prima a farne l'upload sul tuo server non credi? :)
Posta un commento