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

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    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 du Club
    Inscrit en
    Février 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 61
    Points : 59
    Points
    59
    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 : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    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 éclairé 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 : 42
    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
    Points : 799
    Points
    799
    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 : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    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
    Points : 12 977
    Points
    12 977
    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.

  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
    Points : 12 977
    Points
    12 977
    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 ?

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    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 : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    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 averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    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 : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    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

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    Par défaut
    Zut j'avais fait quelques erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?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($motif_host,$chaine_host,$regs)) {echo'FAI inconnu !';} else {
    foreach($regs as $result)
    { echo 'Votre FAI est : '.$result;
    }};
    ?>
    Voilà c'est mieux

    Bon va falloir que je réorganise mes multiples code en fonction (sous routines)
    Mais je ne sais pas encore le faire en php

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    Par défaut
    Voilà j'ai rajouté une Switch :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?php //Code fait pas Diana.S ne pas enlever....
    $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|Tiscali|Sogetel|Belgacom|Proxad|Bluewin|Telebecinternet';
    echo $chaine_host;
    if (!eregi($motif_host,$chaine_host,$regs)) {echo'FAI inconnu !';} else {
    foreach($regs as $result)
    {switch($result)
      {
      case 'proxad':
        $change=eregi_replace($result,'Free',$result); echo 'Votre FAI est : '.'<font color=green>'.ucfirst($change).'</font>'; break;
     
    	case 'club-internet' :
        $change=eregi_replace($result,'oui c bien club !',$result); echo 'Votre FAI est : '.'<font color=green>'.ucfirst($change).'</font>'; break;
     
      default :
       echo 'Votre FAI est : '.'<font color=green>'.ucfirst($result).'</font>';break;
    }}};
    ?>
    ça marche chez moi étant chez club, et chez vous ? merci de men faire part

    lien: http://isis.no-ip.info/n.php

    Ps: c'est bizarre le code n'est pas colorisé

  14. #14
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    XXXVotre FAI est : Free
    Je croyais être chez 9tel, apparament non
    Enfin Free est notre connexion de secours, petu-être qu'on a un léger bug

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    Par défaut
    ben que te donne echo $chaine_host; ? (sans ton IP) . Rhoo le joli Saumurien

  16. #16
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    lns-bzn-XXXX.adsl.proxad.netVotre FAI est : Free

    Ben quoi Saumur? C'est une jolie ville... enfin surtout, c'est une ville où il y a plein de caves

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    Par défaut
    Arf Proxad est utilisé par plusieurs FAI je pense. Comme les FAI se partagent les réseau va falloir que je fasse autrement.

    Oui Saumur est une jolie ville, mon grand-père paternelle est entéré labas.

    ça doit être sympa les Caves et on fait quoi dans une cave avec un jeune homme de 21 ans

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    Par défaut
    Je pense mais je suis pas sur que les 2 premiers numéros xx.xx sont réservés aux FAI, donc cela me permettrait d'identifier sans erreurs.

    Mais je ne trouve pas d'infos dessus ? Quelqu'un à un lien ?

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    Par défaut
    Bon j'ai reussie à trouver une listes, enfin

    * FREE / PROXAD
    o 62.147.0.0 - 62.147.78.255
    o 82.67.134.0 - 82.67.135.255
    o 82.229.242.0 - 82.229.243.255
    o 82.230.146.0 - 82.230.147.255
    o 82.248.0.0 - 82.255.255.255
    * WANADOO
    o 81.49.102.0 - 81.49.102.255
    o 81.51.113.0 - 81.51.113.255
    o 81.250.112.0 - 81.250.112.255
    o 82.124.118.0 - 82.124.118.255
    o 82.127.24.0 - 82.127.24.255
    o 83.193.193.0 - 83.193.193.255
    o 83.194.187.0 - 83.194.187.255
    o 86.195.177.0 - 86.195.177.255
    o 86.199.135.0 - 86.199.135.255
    o 86.199.201.0 - 86.199.201.255
    o 86.207.193.0 - 86.207.193.255
    o 193.248.51.0 - 193.248.51.255
    o 193.251.0.0 - 193.251.0.127
    * NORDNET
    o 194.206.126.0 - 194.206.126.255
    o 195.6.244.0 - 195.6.247.255
    o 195.146.224.0 - 195.146.253.255
    * CLUB INTERNET
    o 212.194.0.0 - 212.194.191.255
    * SKYNET
    o 62.4.208.0 - 62.4.209.255
    o 80.201.136.0 - 80.201.143.255
    * TELE2
    o 83.177.0.0 - 83.177.23.255
    o 83.179.128.0 - 83.179.255.255
    o 213.103.192.0 - 213.103.255.255
    * CEGETEL
    o 84.4.0.0 - 84.7.216.255
    o 88.136.0.0 - 88.138.120.255
    * TISCALI
    o 83.156.0.0 - 83.159.255.255
    * 9 TELECOM
    o 80.118.32.0 - 80.118.47.255

    J'espère quelle est à jour !
    Le gros hic, c'est pour coder ça J'ai mes migraines qui reviennent... )

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 58
    Points
    58
    Par défaut
    Arf a mon avis la liste n'est pas à jour :

    89.80.0.0 - 89.83.255.255 d'après le Ripe.net !

    DEplus mon adresse est dynamique et ne reste pas toujours à 89.83.x.x

    Arf je sais pas comment ils fonctionnent.

    Ya une autre solution, convertir avec le Ripe.net .

    Vous en pensez quoi ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Tableaux] remote_host ne fonctionne pas
    Par kynri dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2007, 10h45
  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, 19h22
  3. [Tableaux] empty ne fonctionne pas
    Par zakuza dans le forum Langage
    Réponses: 22
    Dernier message: 27/07/2006, 18h19
  4. [Tableaux] $_POST ne marche pas
    Par Alain15 dans le forum Langage
    Réponses: 26
    Dernier message: 19/07/2006, 12h36
  5. [Tableaux] $_ENV ne fonctionne pas ? ? ?
    Par Yann1974 dans le forum Langage
    Réponses: 12
    Dernier message: 17/07/2006, 09h17

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