Certaines personnes amateures qui programment des sites web ont la fâcheuse tendance à faire des "hotlinks" sur des images qui proviennent de d'autres sites. Non seulement ce n'est pas très professionnel envers le travail original des auteurs, mais au moins, s'ils avaient pris la peine de les copier et les héberger sur leurs serveurs, ça n'utiliserait pas la bande passante des sites originaux.
Bien qu'on ne puisse pas les empêcher de les copier (le JavaScript qui contraint le right click de la souris n'est pas une protection valable!), on peut prévenir le vol d'images en écrivant une règle dans le fichier .htaccess qui validera que les images sont sur le même serveur qui tente de les afficher. Assurez-vous d'abord que mod_rewrite est installé sur Apache.
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?domaine\.com(/)?.*$ [NC]
RewriteRule .*\.(gif|jpe?g|png)$ - [F,NC]
Testez cette configuration et jetez un oeil aux requêtes HTTP (Firebug ou Live Http Headers), vous devriez voir la demande pour obtenir l'image et la réponse du serveur distant : 403 Forbidden (déclenché par [F] à la dernière ligne).
Sinon, vous pouvez aussi choisir l'option d'envoyer une autre image de votre serveur à la place de celle demandée, un peu en guise d'avertissement (par exemple "Merci de ne pas voler cette image". Allez-y avec votre bon jugement.). Cette technique est moins recommandée car elle sollicitera quand même votre bande passante, ce qu'on souhaite éviter.
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?domaine\.com(/)?.*$ [NC]
RewriteRule \.(gif|jpe?g|png)$ /images/ne-pas-voler.jpg [L,NC]
Pour ceux moins familiers avec mod_rewrite, voici une petite légende pour vous aider à comprendre les flags entre crochets.
NC : No Case - Insensible à la casse
F : code HTTP 403 forbidden
L : last rule - Dernière règle à appliquer
jeudi 13 août 2009
0 réponse à "Prévenir le vol d'images"
S'abonner à :
Publier des commentaires (Atom)