Ouverture et lecture d'un fichier distant

  • Auteur de la discussion Auteur de la discussion tryan
  • Date de début Date de début
WRInaute passionné
Bonjour,

Cette question est pour ma culture personnelle ^^.

Quand un site "A.com" fait une ouverture et lecture d'un document sur un site distant "B.com" pour y trouver un bout de texte bien précis ou une url..., le site "B.com" peut savoir qui est venu "scanner" sa page grâce à $_SERVER['HTTP_REFERER'] ?

Dans tout les cas, on peut récupérer soit l'hôte par $_SERVER['HTTP_REFERER'] soit l'ip du serveur par $_SERVER['REMOTE_ADDR']; qui tente l'ouverture et lecture d'une page, c'est bien ça ou je me plante ?

Merci
 
WRInaute discret
Le referer ne sera pas envoyé par php si tu utilises un file_get_content (tu peux en spécifier si tu utilises curl) par contre REMOTE_ADDR aurat bien pour valeur l'ip du serveur qui fait l'appel (en supposant qu'il n'y ait pas de proxy ou de configuration réseau avec passerelle entre les deux)
 
WRInaute passionné
Merci petitchevalroux,

Effectivement le referer n'est pas envoyé dans mon cas. Du coup je cherche à savoir comment le récupérer si l'ouverture d'un de mes fichiers se fait par "file_get_contents". Une piste ?
 
WRInaute discret
Comment veux tu le récupérer si il n'existe pas ! Dans quel but veux tu avoir cette info ? Ol existe certainement d'autres solutions pour faire ce que tu souhaites faire.... mais là on peut pas t'aider vu que tu cherches à récupérer une valeur qui n'existe pas :D
 
WRInaute passionné
Leonick a dit:
il te l'a dit : avec REMOTE_ADDR
J'avais bien comprit que REMOTE_ADDR sert à obtenir l'ip ^^..

@petitchevalroux : le but finale ne regarde que moi :P . Ce que je ne comprend pas, c'est que tu me dis que cette info n'existe pas ...pourtant si l'ouverture d'un fichier se fait sur "B.com" depuis un fichier du site "A.com", il devrait y en avoir une trace autre que l'ip du serveur ..non ?

Merci
 
WRInaute accro
Non, déjà qu'en provenance d'un navigateur classique il y a plein de moyens permettant de ne pas envoyer de referer : blocage par le navigateur (plusieurs addons FF le permettent), bloquage par l'antivirus, ...
Alors un serveur qui appelle un fichier distant, s'il t'envoie un useragent, déjà, ça sera faux le plus souvent, mais autrement il ne te renverra pas de referer, vu qu'il n'en a pas
 
WRInaute discret
Bon je vais la faire courte, mais utiliser file_get_contents sur un fichier distant c'est un non sens car normalement cette fonction ouvre un fichier sur disque et pas à distance.

Pour ouvrir un fichier distant il faut utiliser un protocol (http, ftp ...) ce que fais la fonction file_get_contents sans en informer personne (comme ça les gens qui font du web n'ont toujours aucune notion du protocol http). Donc comme cette fonction est à la base faite pour ouvrir un fichier, elle n'a aucune raison d'ajouter un header referer (et oui referer est un header http), d'autant plus que je pourrai tout à fait l'utiliser dans un script qui ne tourne pas sur serveur.

Pour ton truc ultra secret, ça serait pas un script anti aspi par hasard ?

Sinon à partir de l'IP tu peux avoir un nom d'hôte de la machine avec gethostbyaddr mais je te garantie rien car certaine personne n'utilise pas reverse DNS.
 
WRInaute passionné
Salut,

Intéressant ce gethostbyaddr, je ne connaissais pas :D .
petitchevalroux a dit:
Pour ton truc ultra secret, ça serait pas un script anti aspi par hasard ?

Non, rien à voir ^^. Bon, au risque de passer pour je ne sais trop quoi, je cherche à comprendre comment un lien mit sur un site "B" est détecté depuis un site "A" de façon automatique. Visiblement cela se fait par "file_get_contents" et je pensais que le script distant du site "A" laissait une trace de son passage ..d'où mon interrogation.
 
WRInaute accro
non, le lien du sita A vers le site B, tu le vois dans les stats de B avec le referer d'un internaute quand il clique sur le lien de A
 
WRInaute discret
tryan a dit:
Visiblement cela se fait par "file_get_contents" et je pensais que le script distant du site "A" laissait une trace de son passage ..d'où mon interrogation.
Oula tu mélange un peu tout :D

Quand un visiteur passe d'un site A vers un site B en utilisant un lien du Site A il n'y a aucun interaction entre les scripts du site A et du Site B. C'est le navigateur du visiteur qui indique qu'il provient du site A lorsqu'il appel la page du site B.

Quand tu utilises un file_get_contents dans un scripts php du site A vers une page du Site B, le script se comporte alors comme un navigateur en faisant une requete HTTP pour récupérer le contenu du site B.

C'est plus claire ?
 
WRInaute passionné
petitchevalroux a dit:
Quand tu utilises un file_get_contents dans un scripts php du site A vers une page du Site B, le script se comporte alors comme un navigateur en faisant une requete HTTP pour récupérer le contenu du site B.

C'est plus claire ?

Oui, je me mélange un peut les pattes et oui c'est plus clair :mrgreen: !
Donc:
Si lien => Navigateur => récupération par $_SERVER['HTTP_REFERER']
Si script (file_get_contents) => requête HTTP => serveur web traite les requêtes HTTP (Apache,etc...) => Aucune récupération possible ??

Merci
 
Discussions similaires
Haut