Le blog de Guillaume Bizet

Le blog de Guillaume BIZET : Blogging, iPhone, Webdesign, XHTML, CSS, Web2.0, Dotclear et Dotclear2, ...

Aller au contenu | Aller au menu | Aller à la recherche

Interdire le holinking d'images via Htaccess

hotlinking

Le hotlinking d'image consiste selon wikipédia

à utiliser l'adresse d'un fichier publié sur un site web, le plus souvent une image, pour l'afficher sur un autre site, sur un blog, dans un forum, etc. En d'autres termes, au lieu d'enregistrer l'image et de l'installer sur son propre serveur web, le hotlinkeur crée un lien direct vers le serveur d'origine.

En gros les personnes qui use du hotlinking font de l'économie de bande passante sur leur serveur mais utilisent celle du serveur où se situe l'image d'origine. En plus cela peut ralentir fortement le site situé sur le serveur d'origine de l'image hotlinkée

[apache]
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monblog.fr(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mondeuxiemeblog.fr(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?google.com/reader(/)?.*$ [NC]
RewriteRule \.(gif|jpe?g|png|bmp)$ /antihotlink.jpe [L,NC]

Explication de texte :

  1. on démarre le moteur de réécriture des liens
  2. on interdit à toutes les sites
  3. sauf pour monblog.fr, mondeuxiemeblog.fr et google reader
  4. de hotlinker les images de type gif, jpg, jpeg, png, bmp et on affiche une image à la place de l'image voulue en disant que c'est pas bien de faire du hotlinking ;)

Il vous faudra adapter ce code à vos envies :

  • autoriser netvibes à afficher les images
  • ne pas afficher d'image de remplacement, dans ce cas remplacez RewriteRule \.(gif|jpe?g|png|bmp)$ /antihotlink.jpe [L,NC] par RewriteRule \.(gif|jpe?g|png|bmp)$ - [F]

Voilà vous allez faire des économies de bande passante ;)

Guillaume BIZET

Auteur: Guillaume BIZET

Restez au courant de l'actualité et abonnez-vous au Flux RSS du blog ou du Flux RSS de cette catégorie

Séverin Séverin ·  14 janvier 2008, 10:04

J'ai aussi proposé sur Smashing coding une solution qui permet d'afficher l'image mais d'y ajouter automatiquement son tampon :
http://smashingcoding.com/2007/12/1...

Timothée Timothée ·  14 janvier 2008, 10:18

Excellent !
Je suggérerai d'aller chercher l'image de remplacement sur un autre site que le sien... ;)

skullpat skullpat ·  14 janvier 2008, 12:10

Oui j'avais exactement le même problème et quelle économie réalisée en terme de bande passante :-O et pareil que Timothée, je conseille de mettre l'image de remplacement ailleurs ;) !! Je deli.icio.us ton billet néanmoins !!

Arkan Arkan ·  14 janvier 2008, 18:40

Le seul soucis c'est que ça devient vite long à gérer si tu te dis que pour certains sites c'est plutôt un truc sympa d'afficher ton image (genre les aggrégateurs, certains diggs, ...) pour donner envie de venir voir chez toi. Ce sont surtout eux qui "pompent" ta BP vu le nombre de visites sur tes billets.

Bon pour le moment j'utilise que 50% de ma BP donc je me tracasse pas mais si j'ai de plus en plus de visite faudra p-e que je me décide à appliquer ;)

Ps: Il n'y a pas une ligne pour interdire le hotlinking juste sur un site bien précis ?

Guillaume Guillaume ·  14 janvier 2008, 19:07

@ skullpat : haha justement je pensait à ton blog : plus moyen de voir tes images via netvibes maintenant... et souvent ça m,enlèeve l'envie de lire le texte ;-(

@ Guillaume Bizet : j'imagine qu'on peut faire la même chose avec les trucs flash en ajoutant swf dans la RewriteRule

Guillaume Guillaume ·  14 janvier 2008, 19:30

Oui c'est clair il faut pas mettre l'image de remplacement chez soi !!! Sur un espace genre free.fr :)

@Arkan et Guillaume : je suppose que c'est réalisable par contre je ne connais pas la syntaxe de la chose :p

spawnrider spawnrider ·  14 janvier 2008, 23:59

Faut éviter de bloquer les moteurs aussi LOL
Bien vu le htaccess ;)

fabien fabien ·  15 janvier 2008, 16:21

Salut Guillaume, Bien vu et bien utile tout ça !

Je l'ajoute dans ma "todo list" ;)

merci

Gonzague Gonzague ·  29 janvier 2008, 19:19

Déjà essayé mais tu bloques du coup plein de lecteurs RSS et c'est trèèèèès chiant :/

netwizz netwizz ·  30 janvier 2008, 02:18

Pour bloquer uniquement des sites bien précis

RewriteCond %{HTTP_REFERER} ^http://(www \.)?siteabloquer1\.com/ NC,OR
RewriteCond %{HTTP_REFERER} ^http://(www \.)?siteabloquer2\.com/ NC,OR
RewriteRule \.(gif|jpe?g|png|bmp)$ /antihotlink.jpe L,NC
netwizz netwizz ·  30 janvier 2008, 02:22

tiens!? la syntaxe wiki pour entrer du code ne marche pô, dommage :-p

Guillaume Guillaume ·  30 janvier 2008, 08:56

@Gonzague : c'est vrai qu'il faut bien penser à ça. Mais si tu regardes les lecteurs RSS principaux via feedburner par exemple, en prenant "les plus connus" tels que google reader, netvibes, bloglines, newsgator, ... tu ne gène pas trop de personnes finalement.


@Netwizz : voilà commentaire corrigé. Je n'ai jamais compris pourquoi cela ne marchait pas. C'est d'ailleurs la mêle chose dans l'édition de billets :(

SM SM ·  27 février 2008, 01:35

merci CERVANTES, tu m'a beaucoup aidé 8-|

benn benn ·  13 novembre 2009, 15:43

Merci :)

aucune annexe



À Voir Également

Free sur Vente Privée

Free en mal de recrutement d'abonnés ?

Free procède depuis hier et jusqu’à ce soir minuit à la vente à prix casse de ses abonnements ...

Lire la suite

Logo Google Contacts

Des nouveaux champs dans Google Contacts

Vous savez tous désormais que Google contacts est accessible via une url complètement indépendante ...

Lire la suite