Accueil > Tutoriels pour Webmasters > Éviter le hotlinking de ses images

Éviter le hotlinking de ses images

Le hotlinking d'une image est une mauvaise pratique sur le web qui consiste à afficher une image sur un site qui n'est pas le sien. En tant que possesseur de site web, il existe une méthode pour éviter de se faire approprier les images.

Comprendre le hotlinking

Le hotlinking est une pratique assez courante sur le web. Lorsqu'un blog, un forum ou un site web souhaite une image qu'ils ont trouvés, il est très facile d'ajouter cette image à partir de l'URL qu'ils ont trouvés sans même demander les droits et sans même l'enregistrer sur leurs sites.
Cette méthode est assez mauvaise pour plusieurs raisons :

  • En général les utilisateurs n'ont pas les droits sur l'image
  • Un site dont les images sont souvent victimes de hotlinking va consommer de la bande passante pour des utilisateurs qui ne sont pas les siens. Sachant que certains hébergeurs facturent la bande passante, cela signifie que le hotlinking engendre des coûts supplémentaires
  • Cela augmente la charge sur le serveur

Solution

Il existe une solution pour ne pas se faire voler les images sur un site web. La solution consiste à placer un code spécifique sur le fichier ".htaccess" qui va remplacer l'image par une autre. L'image de substitution peut être au choix :

  • Une image avec un texte tel que "Ceci est une image volée du site http://www.example.com"
  • Une image assez horrible à regarder pour repousser les lecteurs sur l'autre article
  • Une image transparente de 1x1 pixel. C'est la solution à adapter si votre principal soucis concerne les problèmes de bande passante
  • C'est assez tordu mais il est possible de mettre une image pornographique pour ensuite sanctionner le site tiers (attention à soi-même rester dans la légalité)

Créer un fichier .htaccess

Le fichier .htaccess est un fichier de configuration qui se place généralement à la racine du site web. Ce fichier est un fichier texte simple qui ne comporte pas d'extension (ce n'est pas htaccess.txt !). Voici les étapes pour créer un tel fichier sur Windows:

  1. Utiliser un éditeur de texte simple et créer un fichier appelé "htaccess"
  2. Sauvegarder ce fichier en s'assurant qu'il ne possède pas de nom d'extension
  3. Envoyer le fichier sur son espace d'hébergement, à la racine de son site web
  4. Renommer le fichier en plaçant un point devant le nom du fichier. Ce fichier devient maintenant ".htaccess". Il faut renommer le fichier lorsqu'il est sur le serveur car Windows ne permet pas de nommer un fichier qui commence par un point

Code à placer dans le fichier .htaccess

Le code suivant est un code à insérer dans le fichier .htaccess pour remplacer les images si elles sont appelées depuis un site autre que le votre.

Code:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?example.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?example2.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ http://example.com/image-anti-hotlinking.png [NC,R,L]

Dans cet exemple, les sites example.com et example2.com peuvent afficher les images, alors que les autres noms de domaine verront uniquement l'image anti-hotlinking.

Le code est à adapter avec le nom de domaine de votre site (ici représenté par "example.com"). Il est possible d'autoriser plusieurs noms de domaine à afficher les images en ajoutant des lignes (idem que "example2.com".