Le hotlinking est la pratique qui consiste à appeler sur une page web de votre site une image hébergée sur un autre site qui ne vous appartient pas. A la lecture d’un billet de Sitenreveuxyenrena sur le hotlinking dans lequel il exprimait sa colère de voir sa bande passante pillée par des éditeurs/blogueurs peu respecteueux, je me suis dit rhooo, il exagère quand même. C’est pas si grave quelques petits kilo octets. Et là je me suis demandé : tiens ? Et moi ? Est-ce que je suis hotlinké ?.

Les hotlinks ça énerve

J’ai donc jété un coup d’oeil à mes logs à l’aide de l’outil aws-osl d’ovh (oui, je ne sais pas encore lire les logs bruts) et j’ai constaté que effectivement, j’étais hotlinké. Je suis allé voir les sites en question et bien évidemment, pas un seul ne faisait apparaître la mention :

Cette image est aimablement hébergée par notre partenaire-qui-ne-le-sait-pas-encore-parce-qu-on-l-a-pas-prevenu, barbayellow.com.

De plus 2 des 3 images hotlinkées étaient des images originales, libres de droits certes parce que je n’imagine pas faire de l’argent en vendant mes rares réalisations, mais je rappelle aux aimables hotlinkeurs que tout le contenu de ce blog est placé sous une licence Creative Commons, laquelle autorise la reproduction dudit contenu, à condition d’en citer l’auteur.

Là j’ai mieux compris la réaction de Sitenreveuxyenrena. Le hotlinking, c’est comme le loto : ça n’arrive pas qu’aux autres. Et quand ça arrive, ça énerve.

Comment se prévenir des hotlinks ?

La meilleure façon de se prévenir du hotlinking est de créer un fichier .htaccess et de le mettre à la racine du répertoire où se situent toutes vos images. En 2 mots, un fichier .htaccess est une sorte de fichier de configuration pour serveurs apache. 80% des sites étant hébergés par un serveur apache, il y a de grandes chance que cette solution marche pour vous.

Pour un fichier .htaccess, créez d’abord un fichier htaccess.txt avec votre notepad préféré ; éditez-le, puis envoyez-le sur votre serveur. Une fois là haut, renommez le en .htacess .htaccess et le tour est joué.

Grâce à ce fichier magique vous allez pouvoir dire à votre serveur :

Ecoute Apache mon bon ami, si jamais un site autre que le mien te demande de lui envoyer une image jpeg, gif, ou png, et bien tu vas lui faire une bonne blague. Tu ne lui enverras pas l’image en question mais une autre de mon choix, en l’occurrence celle-ci : nohotlink.pne

En langage apache, ça se dit comme ça :

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

Bien sûr, dans l’image nohotlink.pne, vous glisserez un message à l’intention du hotlinkeur fou, message qui dépendra de votre humeur du moment.

J’ai souvenir d’une anecdote à propos des blogs de ZDNet où un blogueur s’était retrouvé avec sa tête collée sur le corps de Chip ‘n Dales tout ça pour avoir fait exploser le traffic d’un petit site en ayant directement appelé une image hébergée là-bas. Tsss tsss… Les gens sont taquins parfois.

Moi, mon humeur du moment c’est plutôt énervé et pédagogue à la fois.

En conclusion

Evidemment, la méthode du .htaccess est un peu violente. Vous pouvez vous contenter d’envoyer un petit mail au webmaster du site qui pille votre bande passante et lui demander gentiment de retirer l’image. Ca marche aussi… parfois.

Pour finir, je cite mes sources : j’ai mis en place cette routine anti hotlink grâce à un excellent tutoriel trouvé chez atlab.com.