Les hotlinks, ça énerve

16 septembre 2007 , 12 commentaires
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.

Réagissez

Si ce billet vous a plu ou si vous voulez apporter des précisions, ou si vous n’êtes pas d’accord avec ce que je raconte, c’est ici qu’il faut vous manifester. Je me réserve toutefois le droit de supprimer toute contribution insultante ou qui n’aurait rien à voir avec la choucroute.

  1. Merci du conseil pour le htaccess et la fausse image.

    C’est quand même un peu cavalier comme image !
    énorme 🙂

    (par contre j’ai pas bien compris pourquoi l’image est en .pne ??? c’est quoi ce format, j’ai rien trouvé là dessus après une (petite) recherche)

  2. « En rouuuuuuge et noiiiiiiir »… L’image est un peu révolutionnaire dans les couleurs, mais effectivement un peu cavalière 🙂 Je préfère nettement la version « cow-boy »…

    Finalement, les blogs et Internet, c’est un peu comme les voitures sans permis et la route : on se dit que tout le monde a le droit de conduire, mais on aimerait quand même que certains restent chez eux…

    Bon j’arrête de faire mon vieux con façon Muppet’Show…

  3. Ha ben oui, c’est gentil de me répondre mais moi je voulais pas faire ça, parce que j’imagine qu’un site comme google image va pas apprécier. Et puis je veux pas interdire le hotlink, juste pouvoir me rendre compte que je suis hotlinké pour faire des ptites blagues et tout.

    Tu dis qu’en lisant les logs on peut voir ça?

  4. Juste comme ca :
    « Une fois là haut, renommez le en .htacess et le tour est joué. »

    Si tu fais des fote dans le nom des fichiers, ils vont hurler, tes lecteurs qui appliquent tes conseils !

  5. axel >> ha bbha jevois qu’il y en a au moins un qui suit. Ca fait plaisir ! Merci Axel, c’est corrigé.

    Sitenreveuxetcaetera >> dans tes logs, tu reconnais les hotlinks au fait que certains sites référents ne pointent pas vers une page html. Donc, c’est vers une ressource, à savoir une image. Après, tu vas voir de tes propres yeux pour constater le forfait 😉

    Jean-Philippe >>Jeanne Mass… Toute ta jeunesse 😉

    redpeppers >> l’image est un .png que j’ai renommé en .pne. Si tu ne le fais pas, ton image de remplacement tombe aussi sous le coup de la règle de redirection du .htacess

  6. Dis, monsieur Cadbury, pour le texte, t’as rien dans le genre ? Parce que se faire pomper des billets entiers, c’est savoureux aussi… Surtout quand on a arrêté la licence CC pour abus manifestes. :'(

  7. Tu les vois dans ton outil de stat de logs bruts. En général ce sont ceux fournis par défaut par ton hébergeur. Awstats et Urchin sont deux outils de logs bruts connus.

    Awstats te donne les accès directs à ton site, quelque soit le type de fichier linké (gif, png, js…) contrairement à un google analytics qui ne te donne des chiffres que pour les pages html – normal puisqu’il fonctionne avec un script js que tu mets sur tes pages (et pas sur tes images).

    Par exemple, ce matin, en voulant répondre à ta question, je suis allé faire un tour dans awstats et j’ai vu 2 sites qui faisaient du hotlink sur ce blog. Je vais donc m’empresser de remettre en place mon htaccess anti hotlink.

    Voilà voilà, en espérant avoir répondu à ta question.

  8. Ca tombe bien, j’utilise aussi Awstats. Tu vas voir dans quelle catégorie ? J’ai affiché « pages vues » mais ça me donne uniquement des page htm ou php pas des fichiers images. Comment tu fais pour reconnaître un hotlink ?

  9. Ne faites pas comme moi : n’oubliez pas de déclarer en plus de votre propre domaines les domaines des agrégateurs en ligne typ netvibes, pageflakes, google ou bloglines *.

    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.be/ [NC])

    si vous ne le faites pas, vos lecteurs se retrouveront dans leur agrégateur préféré avec une image tronquée. Dans mon cas j’ai fait involontairement un gros fuck à pas mal de lecteurs de ce blog. Désolé pour ça et merci à Julien de m’avoir signalé le problème.

    *Je les ai à peu près tous rajoutés sauf… wikio. Parce que voilà.

  10. Si votre blog tourne sous wordpress, vous pouvez installer le plugin pickpocket qui vous permet non seulement de connaitre qui vous chourave vos images mais aussi de les bloquer au cas par cas!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.