Comment lutter contre le hotlinking

Posté par francevoyage le 25 janvier 2010 - 18:39 | Catégorie: astuces internet.

Dans un article précédent, je vous avais donné quelques trucs pour protéger les photos sur internet mais il existe un autre fléau du même acabit, le hotlinking qui vient pomper les images sur votre serveur pour les afficher sur un autre site.

Qu’est ce que le hotlinking ?

Le holinking consiste à utiliser l’adresse url d’un fichier publié sur votre site pour l’afficher sur un autre site, un blog ou un forum. Ce fichier peut-être une image, une vidéo ou de la musique mais concentrons nous sur le cas des photos. Bref, au lieu d’enregistrer l’image et la stocker sur son propre serveur, le hotlinkeur crée un lien direct vers le fichier stocké sur votre serveur.

En quoi est-ce nuisible et illégal ?

Le hotlinkeur pompe tout simplement l’image sur votre serveur et l’affiche sur son propre site hors de son contexte, sans toutes les protections que vous aviez mis en place et sans les avertissements concernant le copyright. En affichant votre travail, il détourne vos visiteurs au lieu de les diriger vers votre site.

Si on ne peut parler ici de reproduction illicite vu qu’il n’y a pas eu copie à proprement parler, le procédé de hotlinking est cependant illégal. Même un lien vers une image libre de droits est illégal sans le consentement du webmaster car il s’agit d’un vol de bande passante. C’est votre serveur qui est sollicité et votre quotat de trafic qui est mis à contribution sans vous apporter le moindre visiteur.

C’est comparable à un voisin qui se brancherait sur votre ligne téléphonique, votre cable de télédistribution ou votre connexion internet et passerait ses coups de fil, visionnerait des films ou surferait sur internet à vos dépens. C’est vous qui payez, c’est lui qui en profite.

Comment savoir si vos images sont hotlinkées ?

Dans le champ de recherche de Google Image, tapez le mot site: suivi de votre nom de domaine (exemple site:www.monsite.com). Dans les pages de résultats, vérifiez que le site mentionné en vert sous les vignettes est bien le vôtre. Si c’est un autre site qui apparaît sous une vignette, c’est qu’il vous pompe l’image en question.

Comment lutter contre les hotlinks ?

Vous pouvez bien sûr batailler avec le webmaster de chaque site pour exiger le retrait des liens directs vers vos photos mais c’est une perte de temps. Il existe un moyen bien plus expéditif pour se débarasser de tous les hotlinkeurs d’un seul coup et pour toujours : la création d’un fichier .htaccess à la racine de votre site. Il faut bien sûr que vous disposiez de votre propre hébergeur et que les photos soient stockées sur son serveur sinon ça ne marchera pas. La plupart des hébergeurs utilisent des serveurs Apache qui savent interpréter le fichier .htaccess.

Grâce à ce fichier, vous allez instaurer une règle de réécriture qui renverra soit un message d’erreur soit une image bidon de votre cru dès qu’on essaiera d’accéder à vos images, photos, vidéo, animation flash depuis un autre site que le vôtre.

Pour créer ce fichier .htaccess, rien de plus simple. Utilisez un éditeur de texte tel que Notepad ou Wordpad pour créer un document que vous intitulerez htaccess.txt (histoire de pouvoir l’ouvrir sur votre pc).

Collez-y le code suivant et adaptez-le à votre propre cas :

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www\.monsite1\.com(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www\.monsite2\.net(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www\.siteami1\.org(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www\.siteami2\.fr(/)?.*$ [NC]
RewriteRule .*\.(jpe?g|png|gif|bmp)$ - [F,NC,L]

La première ligne active le module de réécriture du serveur Apache.
La dernière ligne réécrit la règle à appliquer au cas où une demande d’affichage d’un fichier jpg, jpeg, png, bmp ou gif viendrait d’un autre site que ceux autorisés dans les lignes qui précèdent. Le tiret – signifie qu’en cas de hotlinking, les fichiers ne seront pas affichés ou qu’un message d’erreur 403 sera renvoyé au hotlinkeur.

Vous pouvez aussi faire preuve d’humour en renvoyant une autre image que celle prévue sur le site du hotlinkeur. Soit un truc bien trash, soit de la pub pour votre site, soit un message du style « stop au hotlink ». Attention, même si vous voulez afficher du texte ou l’adresse de votre site, il faut que ce soit obligatoirement intégré dans un fichier image. Créez une image personnalisée que vous nommerez nohotlink.jpg, stockez-la sur votre serveur (dans un dossier nommé images par exemple) puis indiquez-en l’adresse relative par rapport à la racine du site dans la règle de réécriture.

Remplacez ainsi la dernière ligne du code mentionné ci-dessus par

RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

Pour autoriser un site à afficher vos photos, rajoutez une ligne entre la première et la dernière sur le modèle suivant :

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?siteadmis\.com(/)?.*$ [NC]

Pour interdire le hotlinking uniquement à certains forums mais laisser à tous les autres sites la possibilité d’afficher vos images, suivez l’exemple suivant :

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?myspace\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blogspot\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?livejournal\.com/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

La différence est infime mais remarquez la disparition du ! devant l’accent circonflexe.
!^ signifie « si la page appelante n’est pas » alors que ^ signifie « si la page appelante est ».

Enfin sachez que vous pouvez également empêcher la repompe de vos fichiers vidéo, flash ou musicaux. Il suffit d’ajouter leurs extensions dans la règle de réécriture

RewriteRule .*\.(zip|avi|wmv|mpeg|mpg|mov|flv|mp3|swf|wma)$ - [F,NC,L]

Pour finir, sauvez votre fichier htaccess.txt, transférez-le à la racine de votre serveur et renommez-le en .htaccess pour qu’il puisse être lu et interprété par le serveur Apache.

Dans un prochain article je vous ferai prendre conscience que les moteurs de recherche d’images sont les principaux complices des voleurs d’images et vous indiquerai une méthode pour limiter les dégâts tout en restant référencé.

4 Réponses à Comment lutter contre le hotlinking

  1. totographe

    Hello France,
    j’avais également parlé de la protection des images mais, me heurtant là aussi au hotlink de mes images, j’ai été très content de trouver ces infos fort bien expliquées sur le .htaccess.
    Seul soucis, free n’accepte pas l’url rewriting donc je me retrouve contraint d’utiliser une des autres méthodes que tu cites, un peu plus agressive.
    Soit.
    En tout cas, merci pour tes retours d’xp sur la protection des contenus qui est vraiment très interessante.
    Je suis bien curieux de savoir comment tu t’y es prise pour l’histoire du canadien.
    Je commence à m’interroger également sur le hotlink et le plagiat au sein des grands hébergeurs de blogs communautaires qui se défossent tout le temps en disant qu’ils ne sont pas responsables de leur contenus …

    @ bientôt

  2. Valérie Vandervoort

    Le meilleur moyen de repérer du hotlinking est encore de lire ses logs bruts… La commande GET sur une image appelée par un site extérieur ne laisse pas de doute.

    Bonne journée.

  3. Paul

    Très intéressant cet article : je ne connaissais pas tout ça. Merci France !

  4. francevoyage

    @totographe
    Pour le canadien, je suis tombée sur une de mes photos en consultant les résultats de recherche d’images sur le mot “tango”. J’ai épluché le site du voleur et fait quelque recherche sur l’événement illustré par ma photo. J’ai ainsi découvert un dépliant pdf également en ligne qui reprenait lui 5 photos de plus. L’organisateur annonçait également l’événement sur son site perso avec un abominable agrandissement plein de pixels de ma photo préférée. Il avait eu le culot de supprimer mon copyright. Pas de pitié, je lui ai collé la SODRAC (société d’auteur canadienne) au cul et il a casqué 856$ pour ses reproductions illicites.