Empêcher le hotlinking des images sur votre serveur Web

Twitter Facebook Google Plus Linkedin email
closeCet article a été publié il y a 2 ans 1 mois 4 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées, les commandes ne sont peut-être plus valides.

Petite bricole pour ceux qui voudraient éviter qu’on se serve directement de leurs images sur des sites externes. Non pas que la pratique soit illégale en soi, mais surtout peu respectueuse. D’ailleurs, c’est quoi le hotlinking ?

Concept

Le hotlinking, c’est le fait, sur un site, d’appeler directement un contenu, typiquement une image, qui provient d’un autre site. Et on ne parle pas de copie, mais bien d’emplacement physique. En soi, c’est pas choquant, le Web est conçu pour permettre ça. Par exemple, tous les sites qui font appel à des font Google les chargent directement depuis le site du géant, et pas une copie qui est hébergée avec le reste du site (sans si vous faites comme moi, encore merci Laurent).

Mais d’une part, notamment dans le cadre d’un travail créatif, on sort la création du contexte dans laquelle on l’a peut-être placée, d’autre part, c’est souvent fait sans demander l’autorisation, ce qui est un minimum de savoir-vivre (par exemple je le fais pour les traductions). Et donc il n’est pas rare que l’on veuille chercher à réduire ou empêcher cette pratique.

Apache le vénérable

Je vais me permettre de reprendre la technique que présente lepouf. Pourquoi ? Simplement pouvoir comparer puisque je vais également présenter la version « du concurrent » :

C’est simple pour qui a l’habitude des règles de réécriture Apache, mais ça a l’air assez indigeste.

Nginx l’outsider

La syntaxe d’Apache a beau être puissante, elle est diablement lourde à écrire, et parfois, Nginx permet de faire plus élégant et//ou plus efficace en terme d’écriture ou de performances. Voyons donc comment s’y prendre :

Moi j’aime mieux personnellement, mais après, les goûts et les couleurs…

Comment ça fonctionne dans les deux cas ?

Soit vous êtes bête et vous copiez-collez simplement ce que vous trouvez, soit vous cherchez un peu à comprendre ce que c’est censé faire. Simple : lorsqu’on visite un site, la première chose qu’on charge, c’est le contenu de la page. Tous les appels, et notamment ceux aux images, seront accompagné de ce qu’on appelle en bon anglais un referer, qui est une information qu’envoie votre navigateur pour prévenir d’où il vient.

Il n’est pas question ici de discuter du débat sur « mon navigateur devrait-il masquer cette information ? », ici, on s’en sert simplement pour vérifier et surtout valider la provenance d’un client qui appelle l’image. Si l’on vient d’un autre site et que l’image est appelée en direct, le referer sera l’autre site et pas le notre. Dans ce cas, on renvoie donc vers un contenu que je vous laisse apprécier. Et dans l’exemple, il a été décidé de conserver l’accès pour les moteurs de recherche pour ne pas impacter l’indexation des images.

Mais vous n’êtes pas obligés de le faire hein 🙂

 

4
Poster un Commentaire

avatar
2 Fils de commentaires
2 Réponses de fil
0 Abonnés
 
Commentaire avec le plus de réactions
Le plus populaire des commentaires
3 Auteurs du commentaire
DenisStealthBoyLe Hollandais Volant Auteurs de commentaires récents
  S’abonner  
plus récent plus ancien
Notifier de
Le Hollandais Volant
Invité

À noter quand même que l’image vers qui on dirige l’internaute ne doit pas lui-même tomber sous le coup des règles de blocage, sinon il sera lui également bloqué et donc au final on ne verra rien.

La solution est soit de bloquer toutes les images sauf celle là, soit d’héberger l’image en question sur un autre domaine (ou un sous domaine, en tout cas là où le .htaccess ne l’impacte pas).

Denis
Invité

Je n’en vois pas l’intérêt sur la plan SEO.

StealthBoy
Invité
StealthBoy

Il y a pas vraiment d’intérêt sur le plan SEO mais le hotlinking peut être un vecteur d’attaque, un site avec de nombreux visiteurs peut en faire couler un plus petit avec un nombre important de requêtes. On a déjà pu voir les effets à plusieurs reprises dans le monde du P2P, certains trackers torrent rivaux s’en donne à coeur joie avec cette technique. C’est utile de savoir comment parer ce type d’attaque sans compromettre le reste du traffic qui lui est légitime.

Denis
Invité

1. De mon point de vue, c’est la source de la requête – host ou referer – qui doit être filtrée.

2. L’une des 1ères choses que nous faisons sur le plan du Web Analytics, c’est de désactiver les statistiques sur les images.

3. Et puis, il y a la mise en cache des images qui garantit un faible niveau de consommation de ressources.