Jan 252006
 

Dopo avervi distratto per un paio di giorni, parlandovi di freddo (e annessi) e del blog di Mia, oggi vi scrivo qualcosa di "tecnico", che però potrebbe aiutare molte persone alle prese con un problema… quello dell’hotlinking.

La definizione di "hotlinking" data da Wikipedia è farraginosa, quindi ve lo spiegherò io in parole povere: "hotlinkare" un immagine significa piazzare sul proprio sito (o blog, o altro) un link ad un’immagine presente sul server di qualcun’altro.

I motivi di un comportamento del genere sono diversi:
1) Non si vuole prendere la briga di scaricare l’immagine e poi caricarla su un proprio server
2) Non si ha a disposizione un proprio server, e non ci si vuol prendere la briga di utilizzare un servizio di hosting gratuito per le immagini (ce ne sono centinaia, a disposizione)
3) Non si ha a disposizione banda a sufficienza, e si vuole vampirizzare la banda di qualcun’altro
4) Si vuole deliberatamente creare un disservizio al server da cui si hotlinka, scegliendo immagini molto pesanti da scaricare, e linkarle più di una volta.

Lo scenario numero 4, in realtà, è poco realistico (se si vuole creare un DoS ad un server, si usano altri metodi), ma è lo scenario numero 1 a farla da padrone. 😛

Come mai, però, vi sto parlando di tutto ciò? Semplice: guardando le statistiche del dominio giovy.it ho visto che c’erano numerosi referrer da siti che non conosco.
Mmmm… come mai tutto ciò?
Semplice: su ognuno di questi siti c’era un hotlink ad un’immagine presente sul mio server.
Sinceramente non ho problemi di banda (che ho illimitata), ma ho problemi "di coscienza"; mi piacerebbe (in un mondo ideale) che tutti quelli che "prendono" un immagine hotlinkandola me lo facessero sapere.
ATTENZIONE: non sto dicendo che mi si debba chiedere il permesso (che concederei a priori), ma semplicemente che mi dicessero: "Oh, guarda che ho preso l’immagine x per metterla sul mio blog y". Nulla di più.
Sarebbe anche un modo per conoscere nuovi siti/blog, no? 😀
Ed invece… si prende senza problemi, e chissenefrega…
Ho chiuso un occhio per molto tempo… fino a ieri pomeriggio, quando mi sono scocciato, ho fatto qualche ricerca in rete, e preso provvedimenti (che ora vi illustrerò).

Se il server che ospita il vostri sito/blog è un server Apache su Linux, potete usare un metodo semplice: il file .htaccess.

Questo file non è altro che un semplice file di testo, contenente una serie di "regole" riguardanti il modo di gestire le richieste web che arrivano a quella directory.
Con il file .htaccess si può impedire l’accesso a directory, evitare che i motori di ricerca indicizzino alcune parti del sito, reindirizzare alcune richieste verso altre pagine e… impedire che altri utilizzino le vostre immagini direttamente sul vostro server… 😉

Per fare ciò, create (qualora non sia già presente) un file chiamato .htaccess (punto.htaccess) nella root del vostro spazio web (server Apache su Linux) ed inserire le seguenti righe:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.jpg [L]

dove al posto di "example\.com" andrete a mettere il vostro dominio, ed al posto di "images/nohotlink.jpg" andrete a mettere il percorso ad un’immagine che volete appaia al posto dell’immagine hotlinkata.

 No hotlinkIn questo momento, ad esempio, hotlinkando un’immagine sul mio server, al posto dell’immagine linkata appare la simpatica manina che vedete qui a lato.
Non ci credete? Provate a cercarla in questi "blog":
1) http://spaces.msn.com/members/maryann1987italy/
2) http://spaces.msn.com/members/sarucciathebest/
3) http://spaces.msn.com/members/simonflay1985/
4) http://malathebest.giovani.it/

Come potete vedere, oltre la considerazione che la maggior parte degli hotlinker viene da MSN Spaces (ovvero da ragazzini "non blogger" con ZERO conoscenza della netiquette e di Internet), il sistema funziona.
Mi dispiace per tutti gli altri, ma… potete sempre scaricare le mie immagini ed utilizzare ImageShack per mostrarle al mondo 🙂

  43 Responses to “Bloccare l’hotlinking delle immagini con htaccess”

  1. Ammazza che obbrobbri di blog ti hanno linkato le immagini… un’accozzaglia di immagini, antipixel e stelline… e ti facevano tanto traffico? Maddai sono solo ragazzini! 😈

  2. Curiosamente, quando ha cominciato a diffondersi l’http (prima Internet era posta elettronica, usenet, ftp, gopher e veronica – probabilmente alcune di queste cose non le avete mai sentite), l’hotlinking era il metodo “pulito” per fare le cose: che senso ha duplicare la stessa immagine o lo stesso file su decine di server?

    Oggi lo scenario è cambiato e ovviamente se in milioni accedono alla stessa immagine su un solo server lo ammazzano (il server, intendo)…

    Manca quindi un punto alla tua lista dei motivi, forse il primo, storico: 0) il sito è stato scritto da un “vecchio della rete”… 🙂

    Quindi caro Giovy, anche se io ti auguro di raggiungere milioni di contatti con il tuo blog, francamente trovo un po’ sciocco l’aver bloccato l’hotlinking, poiché in effetti dubito che le richieste possano appesantire in modo significativo il tuo server e credo che costringere la gente a duplicare i file in rete sia insensato, anche se ormai avere spazio e banda decenti costa poco, ma io, almeno per quanto riguarda le cose della rete, posso essere considerato un vecchietto rompipalle… 🙂

  3. @ emptyspiral: guarda… anche solo definirli “blog” è un eufemismo! 😀
    E come ho scritto nel testo, il problema NON è la banda… 😀

    @ Bistecca: credimi, quelli non sono siti di “vecchi della rete”, e comunque permettimi di dirti che un vecchio della rete la netiquette la conosce, e l’hotlink cerca di evitarelo sempre (quando possibile, ovviamente).
    Inoltre, ho detto chiaramente che il problema di fondo è “ideologico” e non tecnico (banda ne ho a volontà): non mi piace L’ABUSO di un qualcosa che non è tua senza informare almeno il proprietario. Già in passato ho chiesto gentilmente di informarmi (ed ho anche giocato qualche scherzetto a chi non l’ha fatto, invece di “chiudere i rubinetti”), ma ora mi sono scocciato.
    Inoltre, tutti questi richiami a singoli file mi sballano le statistiche del server… 😀
    Quindi… 😉

  4. Giovy non mi funzionano i 4 link che hai citato… mi portano alla pagina di login LiveSTATS.XSP 🙁

  5. Devi tornare Giovy, non vale che vieni quando io non ci sono!!!! 🙁

  6. Ohhhhhh finalmente qualcosa di sensato… 🙂
    :mrgreen:

  7. @ maga: è vero, li ho sistemati. Ora linkano ai siti giusti (purtroppo) 😀

    @ ilallallero: torneremo, torneremo… 😉

    @ Anturium: LOL! Ovvero? 😀

  8. La migliore “linking policy” che ho trovato fin’ora è quella di Boingboing:
    http://www.boingboing.net/2004/10/04/boing_boing_has_a_li.html

  9. Giovy c’è un problema.
    Così facendo hai bloccato tutti gli hotlink anche su Voice over IT e i tuoi post risultano pieni di manine. 😐

  10. @ Rudy: beh, la mia NON è mica una policy sui link… 😀
    Il mio blog è pubblicato sotto licenza Creative Commons, e quindi chiunque può linkare miei articoli come vuole, ed in qualunque posto (così come possono citarli, lasciandoli inalterati e menzionando sempre la fonte)
    Io ho bloccato solo la visualizzazione delle immagini prese direttamente dal mio server. Se qualcuno trova utile qualche mia immagine, la può salvare senza problemi, e riutilizzare tranquillamente.

    @ Rhadamanth: ops… corretto… 😛
    Anzi, giacchè c’ero, ho permesso l’hotlink anche dai principali aggregatori web (Bloglines, Feedburner, FeedLounge, MyYahoo, Google Reader, Newsalloy e via dicendo) in modo che i post vengano visualizzati correttamente. 🙂

  11. Bè poi c’è la questione dei copy mica ti puoi fare un sito con le immagini che
    ha fatto scattato o elaborato qualcun’altro? A me è capitato diverse volte
    di dover “riprendere” furbetti che linkavano mie immagini ( non parlo del blog
    ovviamente ma di altri siti) appesantendo non poco la mole di traffico del sito…
    il peggio sono quelli che le spacciano per LORO (quasi tutti ahimè)

  12. [quote]@ Rhadamanth: ops… corretto… 😛
    Anzi, giacchè c’ero, ho permesso l’hotlink anche dai principali aggregatori web (Bloglines, Feedburner, FeedLounge, MyYahoo, Google Reader, Newsalloy e via dicendo) in modo che i post vengano visualizzati correttamente. :)[/quote]

    Beh, potresti aggiornare il post iniziale 😉

  13. @ Barbara: guarda… se vogliono prendere qualcosa da me, e la fanno nel rispetto della licenza CC che ho adottato per il mio blog, no problem.
    Certo è fastidioso vedere alcune proprie realizzazioni rubate e spacciate per proprie…

    @ Snippy: perchè dovrei aggiornare il post iniziale? Quello è un piccolo HOWTO, non è mica la spiegazione dettagliata dei siti che permetto o non permetto hotlinkino le mie immagini… 😉

  14. Io avrei messo una manina con un solo dito alzato … 😀

  15. Io però anzichè la mano rossa metterei una bella immagine porno !
    Sai che ridere !

    LOL !

  16. @Giovy Si in effetti :p
    @Zizio e Samuele : Rotfl!

  17. Giovy un conto sono le cose che uno fa così per svago un conto quando ti vedi
    fregari cose fatte per lavoro su cui magari hai passato giorni e giorni 😉

    A me hanno anche fregato un logo che ovviamente non avevo ancora coperto
    da rights 🙁

  18. 😐 va beh te racconto….ghghg sai cecato come sono no? arrivo a 1 test mio e vedo la tua manina ma io frego le immagini? era il bannerino del sito hacker…insomma x ora è li…ma era il bottoncino cmq vera la storia sull’etica molto poco conosciuta sui blog e specialmente su quelli MSN in cui scrivo a volte…AADESSO non ho + voglia di comunicare e quindi…
    ma compli ai tuoi post e a quelli di blogger come te continuo a leggere ecc…
    p.s. bella ragazza hai conosciuto…d cuore auguri…io sono solo dopo essere sempre stato con qualcuno e giuro che te li faccio con sincerità questi auguri.. io x 1 po’ o ….insommma, se non vedi + i miei commenti non dipende da te…e vorrei che anche altri blogger abituati alle mie visite non lo pensassero ❓

  19. Sarà un anno almeno che io blocco il link delle immagini sul mio sito (lascio libero quello dei thumbnail, giusto perché altrimenti qualcuno con sistemi di anonimato eccessivi si incasinava).
    E sono sicuramente un vecchio della rete.
    Solo che ai tempi veniva indicato *un puntatore* all’immagine, che veniva scaricata solo da chi era interessato. Quindi il paragone in realtà non regge affatto.
    (ah, essendo io bastardo inside indico anche un link dove leggere perché non si vede l’immagine: guarda http://xmau.com/no.png )

  20. ciao, volevo chiederti una cosa …. la cosa funziona anche se una persona x ha un blog su msn e non vorrebbe che altri prendano le sue immagini ? forse non funziona in questo caso ma mi servirebbe un metodo efficiente piuttosto che i soliti mezzucci blocca tasto detro del mouse ecc perche’ ci sa un minimo di codice apre la pag e si prende l’indirizzo dell’immagine …. se ci fosse verso di non permette la visualizzazione dell’indirizzo oppure questa cosa … fammi sapere al mio indirizzo e mail ^^

  21. @ Rei: no, ovviamente non funziona per i blog su MSN Spaces, e NO, non hai modo di impedire ad altri di prelevare le tue immagini, così come non posso farlo io, del resto.
    Io ho solo impedito che le linkino direttamente sul mio server, utilizzando la mia banda.

  22. questo codice htaccess e’ valido anche per i sottodomini??
    o va inserito per ogni sottodominio?

  23. @ lol: no, è valido solo per il dominio principale.
    Se vuoi renderlo valido anche per i sottodomini, devi modificarlo… 😉

  24. ma x msn nn ce proprio nulla da fare….non voglioche le mie foto che metto sul mio blog creato con msn vengano prese per farci chissa che cosa…..non ce proprio modo x bloccare queste foto??????? ❓ ❓ ❓ ❓ ❓ ❓ ❓ ❓ ❓ ❓

  25. @ metod man: no, per msn non c’è niente che tu possa fare, se non… evitare di pubblicare foto che non vuoi vengano prese da altri. 😛
    Ciao.

  26. ehm…
    sono noob in materia di htaccess…
    quindi potresti darmi una mano nel creare passo passo un file htaccess dal nulla?
    trovi la mia mail, se vuoi, mi faresti felice!

    cmq trovo sempre corretto chiedere il permesso di scaricare materiali da altri siti, specialmente quando questi sono protetti da diritti d’autore, sono strettamente personali, riservati…

    GRAZIE 😀

  27. @ larchitetto: un file .htaccess è un semplice file di testo (che puoi creare con il blocco note di Windows) chiamato appunto .htacces, al cui interno dovrai incollare le righe citate nel post, modificandole (dove c’è “example” con il dominio del tuo sito/blog).
    Fatto! 🙂

  28. Perfetto Grazie!!!

  29. Salve…scusatemi, ma io che ho un sito su server windows come faccio? che soluzione ho per risolvere questo problema dell’hotlinking?? A me serve soprattutto per evitare che mi linkino i più di 500 files zip che hosto sul mio sito e che faccio scaricare dal mio sito…Grazie!!

  30. @ sbobby: purtroppo per Windows NON c’è l’equivalente di htaccess.
    Puoi provare a farlo da codice, ma normalmente si richiede l’installazione di componenti sul server (cosa che non tutti possono fare, specie se si è in hosting).
    Se provi a cercare su Google, trovi di sicuro qualcosa al riguardo.

  31. quindi se il mio hoster non puoi installarmi questi componenti non posso fare nulla??? cavolo… 😥

  32. Voglio farti i complimenti per il tuo blog, e in particolare per questo articolo che mi ha aiutata a sistemare una volta per tutte la scocciatura dei link diretti! 😉 Grazie e un saluto!

  33. @ sbobby: no

    @ Cory: grazie per i complimenti, felice di averti aiutata… 🙂

  34. […] Per quanto riguarda il blocco delle immagini attraverso .htaccess trovi utili informazioni qui: Bloccare l’hotlink delle immagini con htaccess. __________________ […]

  35. Grazie a Google sbarco su questo post, sembra davvero facile da usare lo script, lo provo e spero di risolvere la rottura di c….i dei vampiri succhia banda 🙂

    Per ora ti ringrazio.

  36. Beh che dire, ottimo script, peccato non ci sia un equivalente di htaccess su IIS, ma io uso apache, chemmenefrega 😛

    Complimenti per lo script, ormai l’hotlinking è una brutta bestia!

  37. Lo so che il post e’ vecchio…
    spero in una risposta.
    Come si autorizza l’hotlinking da feedburner?

    Ho utilizzato il tuo codice ma ora feedburner non mostra le immagini ma quella di dispetto
    🙂

  38. Hola, complimenti per la guida che è molto utile davvero 😉
    Ho solo un problemino: essendo su altervista ho imparato ad usare la cartella _altervista_ht (in quanto l’hotlink è vietato in tutto il sito per gli esterni ad altervista ma non a coloro che sono hostati su altervista stessa).
    Insomma mi piacerebbe bloccare (tramite questo codice) anche gli interni ad altervista ma lasciare comunque libera la cartella _altervista_ht che uso proprio per quelle immagini che voglio inserire in altri forum ecc (immagini messe li appositamente per l’hotlink).
    Credi sia fattibile?
    Cioè ci vorrebbe una cosa del genere:
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.jpg [L]
    Eccetto _altervista_ht 😀

  39. Ciao ho seguito il tuo consiglio.. e quanto trovato su internet al riguardo…
    ma non riesco a sfruttare il metodo mi blocca la mie immagini e non sostituisce il tutto con la foto designata..

    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?dominio\(.+\)/ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule \.(jpe?g|gif|bmp|png)$ images_bg/stopimage.png [L]

    puoi aiutarmi in quanto ho diversi alias che devo sfruttare..

    grazie

  40. […] cui mi sono arrabbiata abbastanza per usare questo “trucchetto”, letto sul Giovy’s Blog: ora al posto delle immagini linkate dal mio server potete vedere il timbro del mio sito; ho […]

  41. Govy se me lo permetti ti rubo l’immagine caricandola sul mio spazio…. 😀 Con il tuo consenso ovviamente! 😛

  42. […] come salvate la banda dei vostri server impedendo il link diretto ai file? Bloccare l’hotlinking delle immagini con htaccess | Giovy’s Blog Ecco un’ottimo tutorial ! __________________ http://www.j3njy.it – 4 cazzate in padella ! […]

  43. Sarebbe carino, o quanto meno consigliato, aggiornare questo post con le modifiche apportate. L'hotlinking potrebbe essere controproducente anche per chi lo genera. Se non si mettono regole per i feed, motori di ricerca etc si genera un disservizio per il lettore. Visto che in rete non si trova niente del genere, ma solo le "regoline" standard, sarebbe un'occasione ghiotta per distinguersi. Personalmente ho già implementato la mia versione, ma magari posso sicuramente aver dimenticato qualcosa. Facci sapere.

Leave a Reply to David Terni Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.