[WordPress] Protéger son blog contre le hotlinking sauvage

Protection-hotlink-images-wordpress

J'ai constaté il y a peu une consommation assez hallucinante de bande passante sur ce blog. Après avoir un peu fouillé, j'ai constaté que pas mal de mes images étaient bien référencées par google (merci la balise alt) et étaient donc hotlinkées un peu partout sur le web, sur des sites warez notamment. Si vous ne savez pas ce que veut dire hotlinker, allez voir sur Wikipedia. Cette pratique interdite est très courante et bien souvent les hotlinkers ignorent l'impact sur le site qui héberge l'image.

Voici donc comment se prémunir contre le hotlinking grâce au salvateur fichier .htaccess présent à la racine de votre installation WordPress:

  • Récupérez le .htaccess grâce à votre client FTP
  • Renommez le en htaccess.txt pour pouvoir l'ouvrir
  • Insérer la règle de redirection suivante. Un conseil, insérez la après la partie réservée à worpress (après # END WordPress). Pensez à modifier l'adresse votresite.com avec le vrai nom de votre site et à renseigner le bon chemin vers une image de votre choix qui remplacera l'image hotlinkée. Le but est donc de faire une image la plus petite possible (quelques ko en jpeg très compressé) pour limiter l'impact sur le serveur et la plus dissuasive possible pour que la personne s'en rende compte et supprime le hotlink. Le .jpe est volontaire, c'est pour éviter que le script boucle en s'auto censurant.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://votresite.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://votresite.com$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://http://votresite.com/hotlink.jpe [R,NC]

  • Il faut s'assurer que les aggrégateurs de flux RSS puissent récupérer vos images. J'utilise Feedburner que j'ai donc rajouté à la liste des exceptions, avec la recherche Google images, netvibes et google reader par précaution. Pensez à modifier l'adresse de votre Feedburner.

RewriteCond %{HTTP_REFERER} !^http://feeds2.feedburner.com/AAAAAAAAAAA/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://feeds2.feedburner.com/AAAAAAA$   [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/.*$    [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader$   [NC]
RewriteCond %{HTTP_REFERER} !^http://www.netvibes.com/.*$    [NC]
RewriteCond %{HTTP_REFERER} !^http://www.netvibes.com$    [NC]
RewriteCond %{HTTP_REFERER} !^http://images.google.fr/.*$   [NC]
RewriteCond %{HTTP_REFERER} !^http://images.google.fr$     [NC]
RewriteCond %{HTTP_REFERER} !^http://images.google.com/.*$   [NC]
RewriteCond %{HTTP_REFERER} !^http://images.google.com$   [NC]

  • Sauvegardez le fichier, envoyez le sur le serveur et renommez le en .htaccess
  • Admirez votre belle image sur tous les sites qui vous ont hotlinké (vidage du cache nécessaire)

2 commentaires

    • Excellent, merci de ton passage et félicitations pour ce plugin !

Laisser un commentaire

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