PHP INITIÉ - Protéger vos images du hotlink

PHP INITIÉ - Protéger vos images du hotlink

Les sites web sont devenus des victimes du Hotlinks, cette manière sauvage d'afficher une image sur son site à partir du site hébergeant l'image. Pour economiser votre bande passante et éviter ces liens sauvages, je présente une solution.
Celle que je connaissais avant de m'intéresser au problème consiste à autoriser les gros moteurs à crawler normalement les images et pour les utilisateurs: Interdire avec les extentions les fichiers à telecharger et rediriger les pages autorisés. Cela oblige à mettre à jour le script régulièrement en fonction des moteurs ainsi qu'une mise à jour pour les nouvelles pages. J'ai de mon coté cherché une solution qui serait plus économe sur les temps de mises a jour. N'en avoir aucune, n'est-ce pas plus relaxant ? Revenir régulièrement sur le code et jouer avec les crawlers me parait abstreignant et dangereux. La solution que je propose est simple, mais demande par contre, une structure différente de celle que nous appliquons régulièrement pour afficher nos images. Ma solution consiste à cacher l'image dans un fichier.
Bien sur un webmaster un temps soit peu astucieux devrait me ratatiner mon code très rapidement, mais l'usager lamba en sera incapable et lorsqu'il passera l'url de votre image à son pote, par sa fenêtre de tchat: il finira sur une jolie page Blank !!

PHP INITIÉ - Protéger vos images du hotlink

FICHIER: .htaccess (interdit tout accés aux images par l'url)

.01
.02
.03
.04
  Options +FollowSymlinks
RewriteEngine On
ReWriteRule .*.(gif|png|jpe?g)$ - [F]
FICHIER: file.php (apel de l'image)
.01
.02
  <img src="d5r651d25r.php" alt="titre" />
d5r651d25r.php (l'image dans un fichier)
.01
.02
.03
.04
  <?php
readfile
("image.gif");
?>
C'est une autre methode de travail. Une fois le .htaccess en place, c'est l'ensemble des images de votre site qui deviendrons inaccessibles en lien direct. Il vous faudra repasser toute vos images dans un fichier pour pouvoir les afficher.

Astuces pour avoir 2 possiblités de lien sur l'image:


Mettez les images à protéger et le fichier .htacess dans le même repertoire.

2° Découper votre site web en 2 parties.
- sauver en .png les images accessibles en lien direct
- sauver en .jpg et .gif les images que vous souhaitez protéger. avec pour règles : (gif|jpe?g)