IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] REMOTE_HOST n'indique pas le FAI


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut [Tableaux] REMOTE_HOST n'indique pas le FAI
    Bonjour,

    J'essaie d'améliorer mon script en rajoutant le FAI.

    Je fais des essais sur mon propre server mais pas en local car j'utilise DynDns.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $r1 =$_SERVER["REMOTE_ADDR"];
    $r2=gethostbyaddr($_SERVER['REMOTE_ADDR']);
    print_r($r1); echo $r2;
    ?>
    En résultat j'ai le nom d'hote de mon PC. Mais moi je veux le FAI !

    Je pige pas là.

    Merci

  2. #2
    Membre averti
    Inscrit en
    Février 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 61
    Par défaut
    avec ton code j'ai les infos
    Mais toi tu veux le FAI en sortie ?? du style Orange, Free .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ///////
    $r1 =$_SERVER["REMOTE_ADDR"];
    $r2=gethostbyaddr($_SERVER['REMOTE_ADDR']);
    echo "$r1"; 
    echo "$r2";
     
    /////

  3. #3
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Citation Envoyé par khaled_dev
    avec ton code j'ai les infos
    Mais toi tu veux le FAI en sortie ?? du style Orange, Free .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ///////
    $r1 =$_SERVER["REMOTE_ADDR"];
    $r2=gethostbyaddr($_SERVER['REMOTE_ADDR']);
    echo "$r1"; 
    echo "$r2";
     
    /////
    Oui voilà, normalement je devrais avoir Club-internet, mais il me donne Isis-station le nom d'hote de mon PC.

    Hors je suis pas en local si j'utilise DynDns logiquement ?

  4. #4
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    $_SERVER["REMOTE_ADDR"] est censé retourner l'adresse du client, je vois pas ou tu as vu que ça doit retourner le FAI ...
    Le FAI n'a pas de champ dedié dans le protocole HTTP, et en plus la plupart des navigateurs ne "savent" pas quel est le FAI qui fournit la connexion.
    En gros, tu n'auras jamais le FAI simplement d'après les données de la requete HTTP.
    Par contre, ce que tu peux faire, c'est enregistrer l'adresse du client, et chercher des infos dessus avec un WHOIS.

  5. #5
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Citation Envoyé par Hervé Saladin
    $_SERVER["REMOTE_ADDR"] est censé retourner l'adresse du client, je vois pas ou tu as vu que ça doit retourner le FAI ...
    Le FAI n'a pas de champ dedié dans le protocole HTTP, et en plus la plupart des navigateurs ne "savent" pas quel est le FAI qui fournit la connexion.
    En gros, tu n'auras jamais le FAI simplement d'après les données de la requete HTTP.
    Par contre, ce que tu peux faire, c'est enregistrer l'adresse du client, et chercher des infos dessus avec un WHOIS.
    Alors peut être que l'on peut créer un WHOI en php !

    Je suis actuellement sur une source, mais le contenu m'échappe encore.

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par Hervé Saladin
    $_SERVER["REMOTE_ADDR"] est censé retourner l'adresse du client, je vois pas ou tu as vu que ça doit retourner le FAI ...
    Faux : à défaut d'afficher le hostname (voir la configuration des logs du serveur Web. Pour Apache, faut utiliser %h et pas %a dans CustomLog) l'IP peut être résolu en nom, nom qui contient souvent le nom du FAI. Dans tous les cas, même si le nom ne contient pas d'identifiant du FAI, tu peux toujours faire une requête sur je ne sais plus quel site pour récupérer le nom du propriétaire de la plage d'IP à laquelle l'adresse appartient.

    Dans tous les cas, je déconseille d'utiliser %h à la place de %a car c'est le serveur Web qui doit faire la résolution IP -> nom et c'est coûteux en temps.

    Par curiosité, c'est quoi l'intérêt de récupérer le nom du FAI ?

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par Diabless6
    Je fais des essais sur mon propre server mais pas en local car j'utilise DynDns.
    Tu peux détailler STP. Il veut dire quoi le "car" ? Imprime la table de routage de ton PC : à tous les coups tu te connectes au serveur (= ton propre PC) sans dépasser ton routeur. DynDNS n'a rien à voir là dedans : c'est juste un moyen simple de coller un nom (fixe) à une machine dont l'IP peut changer. Ca ne préjuge en rien du chemin emprunté pour atteindre cette machine. Faut d'abord voir comment ce nom est résolu depuis ta machine : si ce nom est résolu en donnant l'IP interne de ton PC tu risques pas de passer par ton FAI. Pour voir ce qu'il se passe, fais un traceroute (tracert sous Windobs) ou un nslookup ou ping : tu verras l'IP résolue.

    Faut tout simplement faire le test en vraie grandeur depuis chez qq'1 d'autre.

    A noter que si le gars qui se connecte à ton PC passe par un proxy, tu auras l'IP ou le nom du proxy ; tu ne pourras jamais récupérer la vraie IP ou le vrai nom du client.

  8. #8
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Oui je pense que le test en grandeur nature serait mieux. Je vais faire des essais.
    Ben enfaite je veux rajouter à mon script cette information.
    Autant faire un script assez complet que pas du tout et puis pour apprendre
    faut bien s'interessé à quelque chose !

  9. #9
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    J'ai trouvé des scripts ceux qui commencent par FAI.
    CElui avec le Whoi marche chez moi.
    LEs autres je n'ai rien.
    ET chez vous ?

    http://isis.no-ip.info/Essais/

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Par curiosité, c'est quoi l'intérêt de récupérer le nom du FAI ?
    Un des intérêts de récupérer le FAI, c'est de pouvoir le contacter en cas de mauvais comportement de l'utilisateur.
    Enfin, si j'avais à le récupérer, c'est ce que j'en ferais ^_^.

  11. #11
    Inactif   Avatar de Diabless6
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Bonjour,

    Alors j'ai trouvé un script qui fonctionne bien, le hic c 'est que je n'arrive pas trop à le lire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $ip = $_SERVER['REMOTE_ADDR'];//On obtient l'adresse IP
    $gethostbyaddr = gethostbyaddr($ip);//on transforme en Host avec adresse du FAI
    $dyn = explode('.', $gethostbyaddr);//on divise en segments le host par rapport à chaque point
    $nb_points = substr_count($gethostbyaddr, '.');// Nombre de point(s) dans la ligne
     
    echo 'Votre IP est <strong>',$ip,'</strong><br />',"\r\n"
    ,'Votre FAI est <a href="http://www.',$dyn[$nb_points - 1],'.',$dyn[$nb_points],'" title="Portail de ',ucfirst($dyn[$nb_points - 1]),'">',ucfirst($dyn[$nb_points - 1]),'</a>';
    ?>
    Bon c'est moi qui ai rajouté les commentaires mais jen suis pas sûr et même sur une feuille de papier c'est abstrait pour moi. Bon aumoins il a le mérite de marcher.

    Le mien ressemble à ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $ip = $_SERVER['REMOTE_ADDR'];//On obtient l'adresse IP
    $chaine_host = gethostbyaddr($ip);//on transforme en Host avec adresse du FAI
    $motif_host='club-internet|isis-station';
    echo $chaine_host;
    if (!eregi($chaine_host,$motif_host,$result)) {echo'FAI inconnu !';} else {
    echo 'Votre FAI est : '.$result;
    };
    ?>
    Mais le résultat est : isis-station Votre FAI est : Array

    Mais je connais pas ce FAI Array

    Ou ai-je dont fait une erreur ?

    MErci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] remote_host ne fonctionne pas
    Par kynri dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2007, 11h45
  2. Des tableaux qui ne fonctionnent pas ?
    Par kevinf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 18/12/2006, 20h22
  3. [Tableaux] empty ne fonctionne pas
    Par zakuza dans le forum Langage
    Réponses: 22
    Dernier message: 27/07/2006, 19h19
  4. [Tableaux] $_POST ne marche pas
    Par Alain15 dans le forum Langage
    Réponses: 26
    Dernier message: 19/07/2006, 13h36
  5. [Tableaux] $_ENV ne fonctionne pas ? ? ?
    Par Yann1974 dans le forum Langage
    Réponses: 12
    Dernier message: 17/07/2006, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo