Stats
- 23 connecté(e)s
- 5147 membres
-
- 1218 news
- 3106 topics
- 70 articles
- 35 questions
- 144 sites
-
- St(e) Rolande
Proverbes
- Il n'y a pire mal qu'une mauvaise femme, mais rien n'est comparable à une femme bonne
- [ Euripide ]
Partenaires

Protégez vos images
Posté par kazhar le 03/06/2005 dans la catégorie Les images
-
- Il est toujours désagreable de voir sur un autre site ses images copiées sans meme les avoir transférées de serveur
cela peut meme arriver provoquer une surcharge de votre serveur dans les cas ou les images sont enormément affichées.
nous allons donc voir dans cet article, comment empecher les images d'etre affichées sur d'autres sites que le sien.
pour cela, vous devez avoir la librairie GD disponible sur votre serveur.
le truc est d'utiliser la variable $_SERVER['HTTP_REFERER'];
en effet, la variable contiendra l'url de la page qui appelle l'image.
il suffit donc de vérifier que l'image est bien appellée partir de votre serveur.
nous allons supposer que votre site est example.com
et que notre image est de type gif
Code :
$image = 'images/monimage.gif';
$referer = $_SERVER['HTTP_REFERER'];
$referer = explode('/', $referer);
$referer = $referer[2];
if ($referer == 'www.monsite.com') {
header("Content-type: image/gif");
echo implode(file($image));
} else { die('la copie, c\'est mal'); }
c'est tout simple, et vous etes sur que vos images ne seront affichées que sur votre site...
il vous suffit ensuite d'appelle le fichier php contenant ce code comme si vous appelliez une image :
Code :
<img src='image.php' alt='mon image' />
nb : ici, nous avons mis un implode(file($image)); pour afficher le contenu de l'image car nous avons constaté que un include genere des erreurs, et que certaines images ne s'affichent pas.
l'erreur a l'air de ne pas se produire avec un implode(file());
PHPortail.net © 2003 - 2008; Tous les droits réservés - Webmaster: Philippe Gamache
Site valide Xhtml Strict, CSS 2