Réalisation: assez facile Connaissance: un peu de notion "gestion serveur" Protéger ses images contre le hotlinking
Vous avez constaté que votre bande passante (trafic) est anormalement élevé ou dans votre analyseur de log vous avez reperé des multi-liens directement sur des images, il y a de fortes chances qu'elles soit appelées en direct par le domaine correspondant et non pas par un clic.
Vous êtes peut être victime de vol de bande passante (hotlinking).
Des petits malins, utilisent des images, des fichiers zip, des vidéos de votre site, sans vous avoir demandé votre avis et en utilisant les ressources de votre serveur.
Mais, comment font-ils donc ?
Certains enregistrent simplement vos fichiers puis les mettent en ligne sans aucune honte. Malheureusement, ça prend de la place sur leur serveur ...
Mais, pour les tricheurs, il y a une solution: Il suffit de ne pas copier l'image, mais le lien ... ainsi, le fichier ne sera appellé de leur site mais du votre. ( click droit sur l'image -> propriété )
En quelque sorte, vous leur servez de zone de stockage.
Mais, Apache a une solution: le couple htaccess - rewriting !
Comment faire alors ?
Nous allons demander à Apache de vérifier certaines requètes externes sur certains fichiers et de les ignorer ou de les remplacer par une autre.
Créons d'abord une petite image de substitution avec un éditeur d'image (photoshop, paintbrush ...)

Avec notre éditeur favori, (notepad, bloc-note) créons le fichier suivant:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.votresite.ltd/.*$ [NC]
RewriteRule .(gif|jpg|png)$ http://www.votresite/image_de_substitution.ext [NC,R,L]
que l'on enregistrera sous le nom htaccess.txt (il est impossible de nommer directement un fichier .htaccess sous Windows)

[NC] rend les caractères insensibles a la casse (minuscule majuscule]
[R, L] R: force la redirection interne L: cette règle est la dernière à être appliquée pour ce cas.
Mise en place:
- Téléchargez image_de_substitution a la racine de votre site (ne la mettez pas dans un répertoire que vous allez protéger car elle deviendrait innacessible)
- Chargez sur votre serveur htaccess.txt dans le ou les répertoires a protéger après avoir renommé htaccess.txt en .htaccess grace à votre outil de transfert ftp (Filezilla, Leechftp, Fireftp ...).
Et voilou, le tour est joué votre image de substitution s'affichera a la place des images volées.
Plus: vous pouvez rajouter autant d'extention que vous voulez en les séparant par le caractère | (pipe)
ex: RewriteRule .(gif|jpg|jpeg|png|avi|zip|bmp)$ http://www.votresite/mon_repertoire/image_de_substitution.ext [R,L]
Ne pas renvoyer vers une image de substitution mais un code erreur:
remplacer: RewriteRule .(gif|jpg|png)$ http://www.votresite/mon_repertoire/image_de_substitution.ext [NC,R,L]
par: RewriteRule .(gif|jpg|jpeg|png|bmp)$ - [NC,R,L]
Attention, La syntaxe peut légérement changer en fonction de l'hébergeur, il existe d'autres solutions et d'autres syntaxes via le htaccess.
Vérifiez également que cette fonction (mod_rewrite) est autorisé sur votre serveur. Les fichiers htaccess interviennent directement au niveau du répertoire et des sous répertoires dans lesquels ils sont placés, tenez en compte si vous faites des échanges de bannières ... (je vous déconseille de le mettre directement dans le htaccess racine ou directement dans le répertoire img: créez plutôt des sous répertoires ad hoc)
Mini tuto réalisé par K@mila a partir de la documentation Apache
Si vous avez des problèmes de configuration je vous recommande également: l'excellent site de Toulouse Renaissance 