Une solution anti-hotlink chez Free ?
Bonjour à tous,
j'aimerais parvenir à bloquer l'accès aux liens directs vers les images de mon site (hotlinking), au moins pour certains domaines (russes notamment).
J'ai trouvé plusieurs solutions utilisant un htaccess et le rewriting mais Free ne permet pas cela.
Existe-t-il une solution qui fonctionnerait avec pluxml et un hébergement chez Free ?
Cordialement,
Ludo ;o)
j'aimerais parvenir à bloquer l'accès aux liens directs vers les images de mon site (hotlinking), au moins pour certains domaines (russes notamment).
J'ai trouvé plusieurs solutions utilisant un htaccess et le rewriting mais Free ne permet pas cela.
Existe-t-il une solution qui fonctionnerait avec pluxml et un hébergement chez Free ?
Cordialement,
Ludo ;o)
0
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il y a toujours une solution
par ".htaccess" c'est pas pour vous mais un peux de patience ...
Editer le fichier ".htaccess" insérer les lignes suivantes:
Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://pluxml.org/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.pluxml.org/.*$ [NC] RewriteRule .*.gif$ - [F]Explications :1) Options +FollowSymlinks : Le serveur est autorisé à suivre les liens symboliques.
2) RewriteEngine on : Lancement du moteur RewriteEngine d'apache.
3) RewriteCond %{HTTP_REFERER} !^http://pluxml.org/.*$ [NC]
Tout simplement si l'adresse d'ou l'on vient ne commence pas par (dans notre cas)
1. chemin interne
2. http://pluxml.org/
3. http://www.pluxml.org/
alors execute la régle RewriteRule .*.gif$
vous pouvez réecrite la régle pour autoriser plusieurs fichiers
Et enfin la lettre entre [] appelé [flags] représente l'erreur à renvoyer, ici on a utilisé [F] pour 'forbiden' plus connu sous Erreur 403.
revenons maintenant à votre problème ....
il existe un code php "CHImageGuard" préserver votre bande passante sans l'utilisation de fichier ".htaccess" :P
<?php $imagedir = "/chemin/absolu/répertoire/de-vos-images/" ; // les sites qui peuvent afficher vos images ? $validprefixes = array ( "pluxml.org", "www.pluxml.org" ) ; // url de votre site que les visiteurs seront dirigés ici s'ils tape // "http://www.example.com/chimage.php" $homepage = "http://www.pluxml.org/" ; // votre email si vous souhaitez être informé lorsque quelqu'un tente d'utiliser vos images // pour activer supprimer le prefix "//" //$email = "vous@pluxml.org" ; // ------------ FIN DE LA SECTION CONFIGURABLE ------------ // ---------- NE MODIFIE RIEN APRES CETTE LIGNE ---------- function isreferrerokay ( $referrer, $validprefixes ) { $validreferrer = 0 ; $authreferrer = current( $validprefixes ); while ($authreferrer) { if (eregi( "^https?://$authreferrer/", $referrer )) { $validreferrer = 1 ; break ; } $authreferrer = next( $validprefixes ); } return $validreferrer ; } //-------------------------------------------------------- $image = $_GET['image'] ; $referrer = getenv( "HTTP_REFERER" ); if (isset($_GET['image'])) { if (empty($referrer) || isreferrerokay( $referrer, $validprefixes )) { $imagepath = $imagedir . $image ; $imageinfo = getimagesize( $imagepath ); if ($imageinfo[2] == 1) { $imagetype = "gif" ; } elseif ($imageinfo[2] == 2) { $imagetype = "jpeg" ; } elseif ($imageinfo[2] == 3) { $imagetype = "png" ; } else { header( "HTTP/1.0 404 Not Found" ); exit ; } header( "Content-type: image/$imagetype" ); @readfile( $imagepath ); } else { if (isset($email)) { mail( $email, "Alerte tentative vol de bande passante.", "Attention:\n\n$referrer\nimage cible\n$image\n", "From: CHImageGuard <$email>" ); } header( "HTTP/1.0 404 Not Found" ); } } else { header( "Location: $homepage" ); } ?>$imagedir c'est le chemin absolu pour arivé sur le répertoire de vos images (person ne doit connaitre le nom de se dossier) !pour trouver le chemin absolu créer un fichier appelé "chemin.php" avec le code :
<? echo realpath('chemin.php'); ?>tapez URL de l'endroit où se trouve "chemin.php" exemple: http://pluxml.org/chemin.phpvous avez votre chemin absolu
par exemple le chemin absolu du site pluxml.org:
"/srv/flaprdweb01/data/web-users/pluxprdadm/pluxml.org/"
pour afficher vos image source: http://www.thesitewizard.com/archive/protectimages.shtml
merci pour votre patience
@++
J'avais trouvé quelque chose ressemblant à cette solution "CHImageGuard " qui consiste à passer par un fichier php pour afficher l'image. L'inconvénient est qu'il faut réécrire l'ensemble des liens images du site...
bon, mais le mien n'est pas encore très volumineux... Pour l'instant, j'ai tout simplement mis un htaccess dans le dossier data avec un deny from suivi de l'IP du site qui me gênait le plus, c'est radical
je garde précieusement cette solution,
merci encore,
cordialement,
Ludo
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Un utilsateur averti vera l'url de l'image dans le code source avec "viewsource:" avant l'url, et ca, il y a aucun moyen de le contrer.
Sur un forum, j'avais vu un script en php qui combinait les images a du flash je crois automatiquement avec le nombre de pixel exacte, c'est efficace en y pensant.
télécharger le script ici : http://www.mediafire.com/?32qwwb8wi3mwudd
@++