Savoir avec certitude quel domaine appelle une image hotlinkée ?

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


petitchevalroux
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 108
Inscription: Mer Mai 31, 2006 11:13

Message le Mar Jan 20, 2009 18:19

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 :
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 :D. bon courage.


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 870
Inscription: Mar Aoû 05, 2003 14:49

Message le Mar Jan 20, 2009 19:14

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+


HawkEye
Modérateur
Modérateur
 
Messages: 15041
Inscription: Lun Fév 23, 2004 12:33

Message le Mar Jan 20, 2009 21:31

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 ;)


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 2661
Inscription: Lun Mai 03, 2004 14:48

Message le Mar Jan 20, 2009 21:43

HawkEye a écrit:imaginons que j'aie envie d'utiliser ce "service" sans y être autorisé: comment pourrais-je cloaker le referer ?
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.

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. :lol:

Jean-Luc


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 870
Inscription: Mar Aoû 05, 2003 14:49

Message le Mar Jan 20, 2009 21:57

HawkEye a écrit: le JS et moi ça fait 12 ;)


arf, rien de mieux qu'un peu de js le matin de bonne heure pour se dégourdir les doigts :-)


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mer Jan 21, 2009 8:40

jeanluc a écrit:
HawkEye a écrit:imaginons que j'aie envie d'utiliser ce "service" sans y être autorisé: comment pourrais-je cloaker le referer ?
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.


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.


LiFi
WRInaute passionné
WRInaute passionné
 
Messages: 609
Inscription: Lun Juil 14, 2008 2:24

Message le Mer Jan 21, 2009 8:46

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!


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mer Jan 21, 2009 8:50

sinon une idée en passant rapide et simple.

EDIT : idée inadaptée en fait ...
Dernière édition par zeb le Mer Jan 21, 2009 9:04, édité 1 fois.


LiFi
WRInaute passionné
WRInaute passionné
 
Messages: 609
Inscription: Lun Juil 14, 2008 2:24

Message le Mer Jan 21, 2009 8:56

zeb on a dit plus haut que l'ip serait celle des visiteurs du site, donc ce n'est pas bon.


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mer Jan 21, 2009 9:03

LiFi a écrit:zeb on a dit plus haut que l'ip serait celle des visiteurs du site, donc ce n'est pas bon.

Bien vue j'avais la tête ailleurs.


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 2661
Inscription: Lun Mai 03, 2004 14:48

Message le Mer Jan 21, 2009 9:07

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) ?
On ne peut pas, mais il y a de nombreux autres moyens pour pirater des images et tu en donnes un exemple.

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. :wink:

Jean-Luc


HawkEye
Modérateur
Modérateur
 
Messages: 15041
Inscription: Lun Fév 23, 2004 12:33

Message le Mer Jan 21, 2009 10:55

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/')

;)


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 870
Inscription: Mar Aoû 05, 2003 14:49

Message le Mer Jan 21, 2009 11:08

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.


HawkEye
Modérateur
Modérateur
 
Messages: 15041
Inscription: Lun Fév 23, 2004 12:33

Message le Mer Jan 21, 2009 12:06

OK je vais creuser dans cette direction alors.

Merci ;)


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 870
Inscription: Mar Aoû 05, 2003 14:49

Message le Mer Jan 21, 2009 12:23

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 ;-)

Savoir avec certitude quel domaine appelle une image hotlinkée ? Savoir avec certitude quel domaine appelle une image hotlinkée ?

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 :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités