Savoir avec certitude quel domaine appelle une image hotlinkée ?
38 messages • Page 2 sur 3 • 1, 2, 3
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
-

petitchevalroux - WRInaute occasionnel

- Messages: 108
- Inscription: Mer Mai 31, 2006 11:13
pas mieux que le referer en php et meme en htaccess c'est basé sur la verif du referer dans les exemples proposés. Si tu veux l'ip du referer http://fr.php.net/gethostbyname mais ça te changera pas grand chose. Sinon le mieux serait de faire des clés entre les serveurs du genre :
Ton client fait un truc du genre :
et toi de ton cotés :
Je sais pas trop si c'est compréhensible et le code n'est que la pour te donner une idée de ce que je veux dire mais la j'ai pas trop le temps
. bon courage.
Ton client fait un truc du genre :
- Code: Tout sélectionner
<img src="img.gif?"<?php echo md5('la clé que tu donnes a ton client'.$nomdelimage)?>"...
et toi de ton cotés :
- Code: Tout sélectionner
$monclient = parse_url (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '', PHP_URL_HOST);
/*comme certain navigateur ne passe pas de referer tu peux pas verifier a 100% */
if($monclient !== '')
{
$laclédemonclientdansmabasededonnées = SELECT CLE FROM CLIENT WHERE DOMAIN = $monclient;
if(md5($laclédemonclientdansmabasededonnées.nondelimagedemandée) !== querystring)
{
image non valide
}
}
imagevalide
Je sais pas trop si c'est compréhensible et le code n'est que la pour te donner une idée de ce que je veux dire mais la j'ai pas trop le temps
du coté du js rien d'infaillible non plus, je suis persuadé que le contrôle de domaine de l'api gmaps peux se casser aussi, mais vu l'ampleur du code js derrière c'est relativement facile de le planquer d'autant plus que leurs js sont factorisés et compactés...
sinon la façon de faire en js serait :
inclusion d'un script js sur le site de ton client qui pointe sur ton serveur avec en variable une clé unique pour le client
<script src="http://mondomaine.com/monjs.php?key=azerty"></script>
là vérif que azerty est déjà bien un client plus éventuellement contrôle de referer
ca renvoi du js qui va récupérer le nom de domaine du site, ainsi que la clé du client pour demander l'image sur ton serveur :
document.write( '<img src="http://mondomaine.com/monimage.php?key=azerty&domain=' + document.location + '" alt="" />' );
et du coup dans monimage.php tu peux faire un 2ème contrôle à partir du domain passé en paramètre
a+
sinon la façon de faire en js serait :
inclusion d'un script js sur le site de ton client qui pointe sur ton serveur avec en variable une clé unique pour le client
<script src="http://mondomaine.com/monjs.php?key=azerty"></script>
là vérif que azerty est déjà bien un client plus éventuellement contrôle de referer
ca renvoi du js qui va récupérer le nom de domaine du site, ainsi que la clé du client pour demander l'image sur ton serveur :
document.write( '<img src="http://mondomaine.com/monimage.php?key=azerty&domain=' + document.location + '" alt="" />' );
et du coup dans monimage.php tu peux faire un 2ème contrôle à partir du domain passé en paramètre
a+
Je vais commencer par creuser dans la proposition de petitchevalroux, parceque le JS et moi ça fait 12
Question subsidiaire: imaginons que j'aie envie d'utiliser ce "service" sans y être autorisé: comment pourrais-je cloaker le referer ? (je veux juste apprécier le niveau de difficulté de la chose: si c'est complexe, les gars capables d'abuser du service ont déjà en main leurs propres infos potentiellement plus intéressantes que la solution que je vais proposer*).
*désolé de la jouer mystère: j'en dirai plus bientôt, c'est promis
Question subsidiaire: imaginons que j'aie envie d'utiliser ce "service" sans y être autorisé: comment pourrais-je cloaker le referer ? (je veux juste apprécier le niveau de difficulté de la chose: si c'est complexe, les gars capables d'abuser du service ont déjà en main leurs propres infos potentiellement plus intéressantes que la solution que je vais proposer*).
*désolé de la jouer mystère: j'en dirai plus bientôt, c'est promis
Le seul qui pourrait trafiquer le referrer est l'internaute qui visite le site hotlinker. Le site hotlinker lui-même ne sait pas t'envoyer un faux referrer.HawkEye a écrit:imaginons que j'aie envie d'utiliser ce "service" sans y être autorisé: comment pourrais-je cloaker le referer ?
La méthode de test du referrer est généralement efficace, parce qu'elle a pour effet que la plupart des internautes (pas tous) vont voir l'image "Accès interdit" quand ils afficheront la page du site hotlinker. C'est suffisant pour décourager les hotlinkers non autorisés qui n'ont généralement pas envie de devoir expliquer à une grande partie de leurs visiteurs qu'ils piquent des images ailleurs.
Jean-Luc
jeanluc a écrit:Le seul qui pourrait trafiquer le referrer est l'internaute qui visite le site hotlinker. Le site hotlinker lui-même ne sait pas t'envoyer un faux referrer.HawkEye a écrit:imaginons que j'aie envie d'utiliser ce "service" sans y être autorisé: comment pourrais-je cloaker le referer ?
depuis quand on ne peut pas pas trafiquer le referer depuis un serveur déterminé a hotlinker (refere et tout le reste soit dit en passant) ?
- Code: Tout sélectionner
// obtenir l'image
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_image);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/20050609 Firefox/1.0.4");
curl_setopt($ch, CURLOPT_REFERER, "http://www.toto.fr/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$media = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
si le code risque de donner trop d'idées a des petits TDC dites moi j'édite ou place aux modos ...
mais bon le TDC moyen qui va copier l'url de l'image ne va pas s'en sortir avec ça.
Pour la petite histoire, j'ai été confronté a ce problème avec un site d'images libre de droits (contre liens vers l'origine), qui permettait une copie depuis le navigateur mais qui bloquait autrement. sachant qu'il me falait une centaine de ses images, j'ai du chercher 5 mn pour automatiser.
Oui la facon de contourner le probleme est de faire un wrapper, c'est a dire que le site pirate, ne va pas mettre l'url de ton image dans son image, il va mettre l'url de son script, qui lui va se charger de recuperer l'image avec un referrer qui fonctionne puis de la retourner.
Donc il faut deja qu'il connaisse un nom de domaine sur lequel ca marche, il faut qu'il developpe ce script wrapper, et donc il faut vraiment en avoir envie, c'est pour ca que je te disais c'est une très petite minorité qui vont le faire, sauf si ton public c'est des geeks et que l'un d'eux publie la façon de faire, avec les scripts tout fait et que l'information se propage bien.
Il faut que ton service en vaille la peine aussi!
Donc il faut deja qu'il connaisse un nom de domaine sur lequel ca marche, il faut qu'il developpe ce script wrapper, et donc il faut vraiment en avoir envie, c'est pour ca que je te disais c'est une très petite minorité qui vont le faire, sauf si ton public c'est des geeks et que l'un d'eux publie la façon de faire, avec les scripts tout fait et que l'information se propage bien.
Il faut que ton service en vaille la peine aussi!
On ne peut pas, mais il y a de nombreux autres moyens pour pirater des images et tu en donnes un exemple.zeb a écrit:depuis quand on ne peut pas pas trafiquer le referer depuis un serveur déterminé a hotlinker (refere et tout le reste soit dit en passant) ?
Il faudrait que HawkEye en dise un plus sur son problème précis pour savoir ce qu'il veut exactement éviter, sinon on va proposer un marteau pour tuer une mouche.
Jean-Luc
Bon...
En fait, je pense partager ma blacklist: je voudrais proposer à certains gestionnaires d'annuaires d'insérer dans leur formulaire d'édition une image qui affiche la réponse de ma blacklist à l'url qu'ils sont en train de traiter.
ie: http://test.indexweb.info/dstimg/check. ... heck=check
http://test.indexweb.info/dstimg/check. ... heck=check
http://test.indexweb.info/dstimg/check. ... heck=check
C'est un formulaire pour tester: le webmaster, lui, devra simplement hotlinker l'image dynamique -http://blacklist.indexweb.info/chk/$url
...et je voudrais essayer de m'assurer de son identité pour empêcher xyz d'utiliser le service, donc d'afficher les images suivantes:
http://blacklist.indexweb.info/chk/http ... r-mois.com
http://blacklist.indexweb.info/chk/http ... nkinfo.com
http://blacklist.indexweb.info/chk/http ... asseur.com
(qui sont visibles si tu spoof le referer en 'http://test.indexweb.info/')

En fait, je pense partager ma blacklist: je voudrais proposer à certains gestionnaires d'annuaires d'insérer dans leur formulaire d'édition une image qui affiche la réponse de ma blacklist à l'url qu'ils sont en train de traiter.
ie: http://test.indexweb.info/dstimg/check. ... heck=check
http://test.indexweb.info/dstimg/check. ... heck=check
http://test.indexweb.info/dstimg/check. ... heck=check
C'est un formulaire pour tester: le webmaster, lui, devra simplement hotlinker l'image dynamique -http://blacklist.indexweb.info/chk/$url
...et je voudrais essayer de m'assurer de son identité pour empêcher xyz d'utiliser le service, donc d'afficher les images suivantes:
http://blacklist.indexweb.info/chk/http ... r-mois.com
http://blacklist.indexweb.info/chk/http ... nkinfo.com
http://blacklist.indexweb.info/chk/http ... asseur.com
(qui sont visibles si tu spoof le referer en 'http://test.indexweb.info/')
pas mal
le plus sécure c'est de protéger ton répertoire par un .htaccess, qui controle l'accès par login / mot de passe.
maintenant je ne sais pas et je vais tester, si tu places dans une page web une image dont l'url est une url protégé si ton navigateur va te demander le login et le mot de passe ou si rien ne va s'afficher à cause du forbiden renvoyé...
edit: ie et ff demande le login / mot de passe, donc ça peux être une solution, si j'ai bien compris, si c'est une fonctionnalité backoffice.
le plus sécure c'est de protéger ton répertoire par un .htaccess, qui controle l'accès par login / mot de passe.
maintenant je ne sais pas et je vais tester, si tu places dans une page web une image dont l'url est une url protégé si ton navigateur va te demander le login et le mot de passe ou si rien ne va s'afficher à cause du forbiden renvoyé...
edit: ie et ff demande le login / mot de passe, donc ça peux être une solution, si j'ai bien compris, si c'est une fonctionnalité backoffice.
de rien
une autre méthode qui demande pas de config de .htpassword c'est le principe du webauth
tu proposes une interface ou ton partenaires se log avec son login mot de passe
si enregistres son ip si l'authent est ok
ainsi tu te constitues une liste d'ip authorisées qui peuvent accèder à ton service
çà évite du coup la popup à chaque nouvelle session
une autre méthode qui demande pas de config de .htpassword c'est le principe du webauth
tu proposes une interface ou ton partenaires se log avec son login mot de passe
si enregistres son ip si l'authent est ok
ainsi tu te constitues une liste d'ip authorisées qui peuvent accèder à ton service
çà évite du coup la popup à chaque nouvelle session
38 messages • Page 2 sur 3 • 1, 2, 3
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Ajouter un moteur de recherche d'images sur son site
- La terre vue par satellite : accord entre Google et Spot Image
- Google Dance de mai 2003
- Google rachète Feedburner
- Comment éviter de se faire voler son nom de domaine...
- Idées d'optimisation du référencement des images
- Google change de favicon
- Nouveautés sur les recherches de Google Images
- WebRankInfo lance un forum sur les noms de domaine
- Noms de domaine : Google se lance dans le marché
Consultez la description détaillée des produits ou services de Google suivants : Google Image Labeler
- Les sous-domaines d'un site
Cet outil vous permet de trouver la liste des sous-domaines (indexés) d'un site.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités







le forum