Tout savoir sur WordPress
Tutoriel WordPress

Protéger ses images contre le Hotlinking

Pour économiser de la bande passante et ne pas ralentir votre serveur, découvrez comment lutter contre le hotlinking de vos images.

Le hotlinking est une pratique courante qui consiste, le plus souvent, à afficher une image en utilisant l’adresse URL en provenance d’un autre site où elle est publiée. En fait, au lieu de stocker l’image sur son serveur, le hotlinkeur crée un lien direct vers le serveur d’origine.

Fonctionnement du Hotlinking
Principe du Hotlinking en schéma

Cette méthode est totalement illégale puisqu’il s’agit d’un vol de bande passante. En effet, à chaque fois que l’image est visionnée par un internaute, une requête HTTP est envoyée vers le serveur qui l’héberge. Cela ralentit le serveur qui doit fournir les images hotlinkées en plus des images du site d’origine. De plus, cela peut engendrer un coût financier supplémentaire puisque certains hébergeurs prennent en compte le trafic mensuel de données afin d’éviter les abus et de préserver la bande passante.

Pour lutter contre le hotlinking, il suffit de copier le code suivant dans le fichier .htaccess présent à la racine de votre projet. Il permet de remplacer l’image volée par une autre destinée à dissuader le hotlinkeur (par ex: http://p7.storage.canalblog.com/78/13/603253/75105879.jpg).


RewriteEngine On

# Remplacer mywebsite.com/ par l'adresse de votre site
RewriteCond %{HTTP_REFERER} !^http://(.+.)?mywebsite.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$

# Remplacer /images/nohotlink.jpg par le chemin de l'image affichée chez les voleurs
RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
Cet article a été mis à jour il y a 1131 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

61 Commentaires

Laisser un commentaire

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

  1. En lisant l’article, j’ai posé la même question que Andrès. Et voilà, j’ai la réponse. Vraiment merci pour cette astuce. J’ai testé sur Google Images et il s’avère que j’ai un travail à faire côté images victimes.

  2. @Andrès: Oui, il faut aller sur Google Image et taper la recherche suivante : -site:monsite.com inurl:monsite.com

    Par contre, ça permet de trouver que les images qui sont indéxées.

  3. Salut Jonathan, bonne astuce que celle ci, utilisée avec succès lors du plagiat dont j’ai été victime ;)

    La seule limite est que le plagieur/voleur peut parfaitement copier l’image et au final, l’héberger sur son propre serveur… alors oui pour le coup, plus de hotliking mais du vol de photos…

  4. @ Fabrice : « du vol de photos », cela dépend des conditions d’utilisation de chacun. Perso, le contenu de mon site est sous licence CC et permet le partage de contenu sous certaines conditions (en particulier, les gens sont libres d’utiliser mes photos pour peu qu’ils créditent l’auteur et la provenance). Pour autant je ne suis pas favorable au hotlinking, cela suppose donc qu’ils hébergent eux-mêmes les photos en question…

  5. Bonjour,

    Merci pour cette astuce, je voudrai savoir plusieurs choses

    -1 Y a t’il un temps pour que l’image hotlink soit changer sur les site qui copie nos images ?

    -2 Est ce que les moteurs de recherche continue a référencer nos images ?

    -3 dois t’on ajouter
    RewriteEngine On
    RewriteBase / avant le code et la fermeture après le code

    -4 pour la derniere ligne concernant l’image dois ton mettre l’url complète avec le http:// ou sans comme vous nous le donné

    -5 Comment autorisé que certain site a prendre nos images par exemple un site partenaire a qui j’autorise l’utilisation de mes images

    Merci pour vos réponses

  6. -1- D’après mes tests, ce code fonctionne bien pour le dossier en cours, mais pas pour les sous-dossiers. Y a t-il moyen de préciser dans le .htaccess à la racine du site que la protection doit être activée pour tous les sous-dossiers ? Ou est-on obligé de répéter le code de protection dans un .htaccess dans chaque dossier ?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    -2- il y a ceci pour tester si on est protégé ou non du hotlink :
    http://www.htaccesstools.com/test-hotlink-protection/

    J’ai testé avec l’image de ce billet :
    http://www.geekpress.fr/wp-content/uploads/fonctionnement-hotlink.jpg
    Apparemment, elle n’est pas protégée du hotlink.

  7. @Cristophe: Cela fonctionne avec tous les sous-domaines et sous-dossiers.

    Merci pour le le lien vers le test de protection. Je le mets de côté. Sinon oui, je n’ai pas mis de protection contre le hotlinking car le blog n’est pas vraiment sujet à cette pratique.

    @grosdunord : 3- Cela n’a aucun impact sur le référencement des images.

    4- Non, il faut faire comme dans l’exemple :)

  8. @Dr Goulu: D’où tenez-vous vos 2 affirmations ? C’est la 1ère fois que j’entends cela.

    Pourquoi les images ne seraient pas indéxées ? Et c’était pour le site en entier, je pense que serait au courant depuis un moment !

  9. Je reviens.
    À propos de mon problème de protection qui fonctionne à la racine mais pas dans les sous-dossiers, c’est parce que dans mon .htaccess, j’ai cette redirection :
    RewriteCond %{HTTP_HOST} ^1671137.fr$ [OR]
    RewriteCond %{HTTP_HOST} ^www.1671137.fr$
    RewriteRule ^/?$ « http://1671137.fr/blog/ » [R=301,L]

    Sans cette redirection, les sous-dossiers sont bien protégés contre le hotlink.
    J’ai remis en fonction la redirection, je n’ai pas trouvé comment avoir redirection ET protection contre le hotlink. Une idée ?

  10. Attention avec la solution brutale du .htaccess proposée :

    1) les images ne sont plus indexées par Google, et il y a quand même du trafic qui arrive par là…
    2) il semblerait selon certains qu’au bout d’un moment Google n’indexe plus du tout le site complet, voire le vire du moteur (à confirmer)

    En plus, depuis peu, Google télécharge les images full res chez eux, et quand on clique dessus ça ne ramène même pas sur le site d’origine. Il y a des photographes et des vendeurs de fond d’écrans qui râlent…

    Donc plusieurs techniques anti-hotlinking mais permettant l’indexation, mais pas le pompage par Google ont récemment été développées, mais elles ne sont pas triviales. Voir ici : http://pixabay.com/en/blog/posts/hotlinking-protection-and-watermarking-for-google-32/

  11. Salut Jonathan,

    Simple et pratique ton astuce, merci :)

    Par contre je sais pas si je me trompe, mais par exemple certains site de communiqué de presse ou annuaire permettent d’inclure une image sur sa fiche seulement en rentrant l’url de l’image de mon site.

    Est-ce que ça va pas poser problème dans ce cas ?

  12. Merci pour cet article.
    Mais il est bon de ne pas bloquer non plus tous les sites car le hotlinking permet d’avoir une meilleure présentation lors du référencement naturel.
    Pour ma part, j’ai créé mon propre plugin adaptable…

  13. Merci pour l’astuce :).
    Mais que se passe-t-il si quelqu’un prend une image qui nous appartient ? Il a simplement à la télécharger et à l’upload sur son serveur.
    Dans ce cas, quels sont les recours pour légitimer le fait que l’image nous appartient ?

  14. J’avais testé un plugin de protection contre le hotlinking car mon site principal est axé sur l’image et j’ai vu en effet ma fréquentation en provenance de Google Image chuter. Mais c’était il y a longtemps.

  15. Bonjour,
    merci pour cette astuce bien pratique.
    Serait-il possible, sur le même principe, de permettre le téléchargement d’un fichier d’une seule URL ?
    (exemple, permettre le téléchargement d’un fichier d’une page privée)

  16. Merci pour cet articles et ses informations,c’est très bien expliqué; justement j’ai des problèmes pour paramétrer mon fichier .htacess pour mon site. Je reviendrais faire un tout sur ce tuto qui semble être la meilleure solution merci encore une fois et bonne continuation!

  17. Bonjour,

    Merci pour cet astuce, en tant que photographe de mariage je suis une victime idéale pour cette pratique.

    J’ai fait le test contre l’hotlinking que tu nous conseilles et pour le moment tout va bien, mais je vais surveiller de prêt mes images.

  18. Bonjour Jonathan merci pour ces informations détaillées que vous proposez. Je vais cependant tester ce script car j’avais justement besoin pour gérer les hotlinks sur wordpress. Merci de partager cette technique!

  19. Bonjour Jonathan je vous remercie pour ces informations utiles et pertinentes car j’avais du mal à interpréter les règles. j’ai testé plusieurs solution qui n’étaient pas efficace, je vais testé ce code que vous proposé et j’espère que j’aurais des résultats satisfaisantes. Amicalement

  20. Bonjour Jonathan,

    Merci pour ce code à insérer ! Je n’ai encre jamais été victime de cette technique mais au cas ou cela m’arriverait…

    amicalement

  21. Merci pour l’astuce, cependant comme le dit DR Goulu quid de google images ?
    Mais aussi de certains webmasters sans vergogne qui recopient directement les images, du coup cette astuce devrait quand même être couplée avec un watermark.

  22. J’avais lu il y a un moment déjà que le hotlinking avait aussi des effets bénéfiques pour ressortir dans les SERP de Google images. Est ce toujours d’actualité ?
    Si ce n’est plus le cas, connaissez-vous un plugin efficace pour contrer cette pratique. Je m’occupe d’un site e-commerce et nos photos sont régulièrement volées, ca m’intéresse donc beaucoup.

    Merci d’avance pour votre aide
    Julie

  23. Je ne connaissais pas du tout le concept de Hotlinking! C’est vrai que cela doit être extrêmement néfaste pour les sites internet qui en sont abusés…
    C’est très intéressant de découvrir de nouvelles astuces!
    Merci beaucoup.

  24. Je viens de découvrir cette technique de filou, certainement ignorée du plus grand nombre ! En tout cas bien vu pour les lignes de code via le .htaccess, un simple copier-coller qui peut faire faire quelques économies en cas de vol potentiel !

  25. Merci pour cette astuce. Il faut faire attention quand même, car ces images sont aussi reprises sur les réseaux sociaux, si vous partagez sur Google+ par exemple. Elles n’illustreront donc plus vos articles, il faut bien ajouter Google+ alors dans les sites autorisés.

    Il existait à l’époque un plugin qui s’appelait « PictPocket », mais aujourd’hui il n’est plus tenu à jour et n’est plus disponible sur la librarie publique de plugin il me semble. Dommage, il fonctionnait bien :).

  26. Très bonne astuce!

    Mais l’image de mise en garde contre le hotlinking est elle toujours hébergée sur notre serveur, donc si une personne mal intentionnée veut tout simplement voler la bande passante avec cette image elle le peut toujours! Je me trompe?

  27. @ Mickael: Bonne question :)

    Oui, la bande passante sera volée. Pour le rebuter, vous pouvez choisir une image un peu « olé olé ». Je ne suis pas sûr qu’il laisse l’image très longtemps.

  28. Salut Jonathan un grand merci pour ces informations très utiles. En effet, j’ai beaucoup testé des solution mais malheureusement n’étaient pas efficace. Merci encore une fois! Amicalement

  29. je prends note de cette solution facile à mettre en place.
    Je me demande si ça fonctionne également avec La nouvelle version de Google Image qui semble plus si utile que ça pour gérer du trafic…

  30. Bonjour Jonathan je vous remercie pour l’article, c’est très bien expliqué. Je vais cependant testé le code que vous me donnes, je pense que ce sera utile à beaucoup. Un grand merci pour ce billet très complet. Cordialement.

  31. Merci pour cet article qui m’a permis de découvrir… que j’ai sur mon blog une image qui bénéficie des faveurs d’un hotlinkeur dans un pays lointain !
    A propos hotlinking, il y a 1 question que je me pose depuis que j’en entends parler : y a t’il une raison censée à ce que les cms (WP en tous les cas) proposent en natif la possibilité de faire cette action illégale ?
    Il est plus facile d’intégrer 1 photo avec cette méthode qu’avec la méthode traditionnelle (il suffit de copier-coller le lien), du coup c’est pas si étonnant que ce soit aussi tentant et je pense que des gens qui connaissent mal le web le font sans même savoir que c’est interdit

  32. Merci pour le .htaccess, au top ça fonctionne chez moi ! J’ai un blog qui commençait à en avoir marre de voir sa bande passante « bouffé » par quelques personnes peux scrupuleuses…

  33. Mince je passé à côté de ça, nan je plaisante j’ai appliqué le code lors du plagiat comme le soulève Fabrice.

    En revanche avec l’installation de la rocket, je n’ai pas touché à mon htaccess depuis, donc une question, l’installation du plugin ne vient elle pas écraser le code qu’on y met ?

  34. BONJOUR…

    souvent on fait pas attention à ce genre de truc qui peuvent nuire au fonctionnement de sont site web, merci pour l’article très pratique.

    MERCI B.

  35. coucou Jonathan

    Merci pour ton article, c’est très intéressant je pense mettre ça rapidement en action sur mon annuaire mais, surtout sur le site que je prépare qui est essentiellement constitué de galeries…c’est te dire si cela va mettre utile ;-)

    À bientôt, Sandra

  36. Je me suis autrefois fait contacter par mon hébergeur car avant en mutualisé car deux site hotlinkaient quasi systématiquement mes images et je pompait toutes les performances des serveurs. Cette astuce m’a bien aidé lorsque j’ai compris d’où ça venait !
    Mettre un water-mark, même si c’est pas très beau, ça peut aussi en dissuader certain.

  37. Plus que l’astuce sur le fichier .htaccess, je retiens le code pour vérifier chez google les photos en hotlinking !!! Et rien que pour ce code, énorme merci !! J’ai pu voir que c’est assez faible pour moi et souvent avec un crédit..je laisse pisser mais au moins je suis rassuré

    Je cherche aussi, si ça existe, un code pour voir NOS photos reprises (voire même modifiées) sur d’autres sites.

  38. Bonjour,
    Je ne comprends pas bien cette derniere ligne:
    # Remplacer /images/nohotlink.jpg par le chemin de l’image affichée chez les voleurs
    RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

    Qu’est ce que je dois remplacé ?