Qu’est-ce que le hotlinking d’image ?
C’est l’utilisation de ressources (images) provenant d’un site (A), que l’on utilise sur un autre (B) en gardant le lien d’origine (Lien ressource A).
Cela pose problème puisque notre webmaster (A) doit supporter les accès au fichier du site (B).
Pour interdire le Hotlinking (d’image), voici une petite astuce. On utilisera le .htaccess qui sera interprété par Apache.
Je reprendrai l’exemple de mon blog (Tuxboard.com) souvent visité et fréquemment “pompé”.
Il faudra au préalable activer le module de rewrite d’apache.
Dans le fichier .htaccess :
-
RewriteEngine On
-
On autorise les sites qui peuvent utiliser la ressource :
-
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tuxboard.com(/)?.*$ [NC]
-
RewriteCond %{HTTP_REFERER} !^http://(www\.)?google.com/reader(/)?.*$ [NC]
-
Et aussi les moteurs pour le référencement :
-
RewriteCond %{HTTP_USER_AGENT} !^Googlebot [NC]
-
RewriteCond %{HTTP_USER_AGENT} !^Googlebot-Image [NC]
-
RewriteCond %{HTTP_USER_AGENT} !^Googlebot-Mobile [NC]
-
RewriteCond %{HTTP_USER_AGENT} !^Msnbot [NC]
-
RewriteCond %{HTTP_USER_AGENT} !^Slurp [NC]
-
RewriteCond %{HTTP_USER_AGENT} !^Mediapartners-Google [NC]
-
#Lien pour autoriser Google image d’indexer et d’utiliser l’image
-
RewriteCond %{HTTP_REFERER} !^http://.*google\.(com¦(co\.)?[a-z]{2})/
Ensuite il existe plusieurs façon de montrer à l’utilisateur du site (B) que l’image provient du site (A) :
On affiche une erreur :
-
RewriteRule \.(gif|jpe?g|png|bmp)$ - [F]
On affiche une image, précisant les types d’images que l’on souhaite protéger.
-
RewriteRule \.(gif|jpe?g|png|bmp)$ /images/no-hotlink.jpg [L,NC]
Ce qui affichera par exemple pour cette image du site Tuxboard :
http://images.tuxboard.com/d/8257-1/iphone+3G+photos.jpg

Pour tester que votre code fonctionne, rendez vous sur ce site pour coller l’URL de votre image.
Pour les blogs avec les RSS, vous pouvez autoriser les RSS readers que vous pensez être utile (vu chez Korben) :
-
RewriteCond %{HTTP_REFERER} !^http://(www\.)?netvibes.com(/)?.*$ [NC]
-
RewriteCond %{HTTP_REFERER} !^http://(www\.)?bloglines.com(/)?.*$ [NC]
-



6 réponses
Très bien, seulement je pense que cette technique ne peut être utilisée pour des blogs. En effet, comment faire pour gérer l’affichage des images au sein du flux RSS ? Malgré les exceptions dans le .htaccess, il n’est pas possible de laisser un flux complet à ses lecteurs tout en interdisant le hotlinkin.
juillet 9th, 2008 at 16:16
Il suffit d’ajouter les RSS reader dans le htaccess.
Évidement, c’est manuel mais on choisit qui peut les utiliser.
Exemple par l’exemple de Korben :
http://www.korben.info/fini-le-hotlinking-snif.html#comment-10535
juillet 9th, 2008 at 16:51
[...] Interdire le Hotlinking d’image Simple et efficace! (tags: rewriting) [...]
juillet 10th, 2008 at 13:33
Excellent ton explication.
Moi qui chercher des infos sur le rewriting.
Good
août 21st, 2008 at 14:20
Interdire le Hotlinking d’image…
Pour interdire le Hotlinking (d’image), voici une petite astuce. On utilisera le .htaccess qui sera interprété par Apache……
septembre 10th, 2008 at 14:22
Merci pour la méthode, toutefois un peu fastidieuse à mettre en oeuvre.
septembre 10th, 2008 at 15:32
Laisser un avis