hotlinking

Hi all,

Plein de sites web perdent énormément de bande passante à cause de ce qu’on appelle le hotlinking. Le hotlinking consiste à utiliser le lien d’un fichier -hébergé sur un site web- dans un autre site et ainsi à chaque fois qu’on accède au deuxième site c’est la bande passante du premier qui est utilisée (usée?) pour charger les image ou autre continu.

Pour se protéger du hotlinking et ainsi sauvegarder sa bande passante, il suffi d’ajouter quelques lignes dans son fichier htaccess (on peut aussi sécuriser son site web à l’aide d’un fichier htaccess).

Entrons dans les détails:

Ce qu’on va faire à l’aide du fichier htaccess c’est de créer un condition pour vérifier si l’appel au continu web vient de notre site ou pas: si c’est le cas on autorise le linking c’est non on renvoi la requête vers une page d’erreur 403 Forbidden (Dans notre cas on va se protéger contre le hotlinking des images).

Donc:

## On vérifier le HTTP_REFERER:

RewriteCond %{HTTP_REFERER} !^$

## Si la requête ne vient pas depuis mon site (!) (on utilise les deux formes de nom de domaine: avec et sans www ):

RewriteCond %{HTTP_REFERER} !^http://monsite\.com/.*$ [NC]

RewriteCond %{HTTP_REFERER} !^http://www\.monsite\.com/.*$ [NC]

##Si les conditions existent -> on envoi l’utilisateur vers une page d’erreur 403 Forbidden

ReWriteRule .*\.(gif|png|jpe?g)$ – [F]

Conclusion:

## On démarre le moteur de rewriting si on l’a pas encore fait

RewriteEngine on

########### Bloquer le hotlinking des images ###########
#
RewriteCond %{HTTP_REFERER} !^$
#
RewriteCond %{HTTP_REFERER} !^http://monsite\.com/.*$ [NC]
#
RewriteCond %{HTTP_REFERER} !^http://www\.monsite\.com/.*$ [NC]]
#
ReWriteRule .*\.(gif|png|jpe?g)$ – [F]
#
###########################################

Il y’a une autre méthode qui consiste à envoyer une image bien précise et unique (une image de très petite taille) qui s’affiche quand quelqu’un essaye d’utiliser une de nos images:

RewriteEngine on

RewriteCond %{HTTP_REFERER} .

## On remplace monsite.com par l’adresse de son site web (pas besoin d’ajouter une autre ligne pour www car le ? avant monsite le fait déjà)

RewriteCond %{HTTP_REFERER} !^http://(www\\.)?monsite\\.com [NC]

## Si le hotlinking vient d’un atre site a part le(s) nôtre on affiche l’image /images/hotlink.gif ou /images/hotlink.jpg ou /images/hotlink.jpeg (selon l’extension de l’image hotlinkée)

RewriteRule \\.(gif|jpe?g)$ /images/hotlink.$1 [L]

Ce qui donne:

RewriteEngine on
RewriteCond %{HTTP_REFERER}
RewriteCond %{HTTP_REFERER} !^http://(www\\.)?monsite\\.com [NC]
RewriteRule \\.(gif|jpe?g)$ /images/hotlink.$1 [L]

Faites en bonne utilisation 🙂


Merci d'évaluer l'article: Sauvegarder sa bande passante grâce à htaccess

Il n'y a pas encore d'avis. Soyez le premier à évaluer cet article.


Catégorie: .htaccess, Developpement web, Divers, Diverses Astuces, Sécurité informatique
Tags: , , , , , .