Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SAVOIR LE FOURNISSEUR D'ACCÈS INTERNET (FAI) DU VISITEUR


Information sur la source

Catégorie :Réseau & Internet Classé sous : fai, visiteurs, whois, ip, dyn Niveau : Débutant Date de création : 22/05/2005 Date de mise à jour : 01/01/2007 18:56:07 Vu / téléchargé: 8 503 / 657

Note :
8,63 / 10 - par 8 personnes
8,63 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (41)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Bon j'ai cherché pendant des HEURES un script me permettant de savoir le FAI du visiteur, mais pas de script du tout :'(
Alors j'ai cherché une fonction en php qui se rapproche de la chose et j'ai trouvé !!!
La fonction gethostbyaddr() !!!!!
Elle donne quelque chose comme ça : dyn-123-45-678-90.ppp.monfai.fr
Avec la fonction explode() le tour et joué!!!!!
Un dernier truc le code ne marche pas en local.
Un petit exemple ici : http://www.immortalpc.free.fr/FAI.php

Une autre façon de faire avec ripe.net (Whois)
 

Source

  • Version Simple
  • <?php
  • $ip = $_SERVER['REMOTE_ADDR'];//On obtient l'adresse IP
  • $gethostbyaddr = gethostbyaddr($ip);
  • $dyn = explode('.', $gethostbyaddr);
  • $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>';
  • ?>
  • Version Complète
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
  • <meta http-equiv="Content-LANGUAGE" content="French" />
  • <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  • <meta name="GENERATOR" content="PHP Designer 2005" />
  • <meta http-equiv="Content-Script-Type" content="text/javascript" />
  • <meta http-equiv="Content-Style-Type" content="text/ccs" />
  • <meta name="author" content="Nuel Guillaume" />
  • <style type="text/css" media="screen">
  • body {
  • background-color: #FFFFFF;
  • text-align: left;
  • }
  • .Gras {
  • font-weight: bolder;
  • }
  • </style>
  • <title>FAI</title>
  • </head><body>
  • <?php
  • $ip = $_SERVER['REMOTE_ADDR'];//On obtient l'adresse IP
  • $gethostbyaddr = gethostbyaddr($ip);
  • $dyn = explode('.', $gethostbyaddr);
  • $nb_points = substr_count($gethostbyaddr, '.');// Nombre de point(s) dans la ligne
  • if(IsSet($dyn[$nb_points],$dyn[$nb_points - 1])){
  • $fichier = $dyn[$nb_points - 1].'.'.$dyn[$nb_points];// Adresse du fichier
  • if(@fopen('http://www.'.$fichier,'r') || @fopen('http://'.$fichier,'r')){//Il existe ;-)
  • echo 'Votre IP est <span class="Gras">',$ip,'</span><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>';
  • }else{
  • echo '<div style="text-align:center; color:#FF0000;">L&#39; adresse <span class="Gras">',$fichier,'</span> n&#39; existe pas.</div>',"\r\n";// Il n' existe pas :'(
  • }
  • }else{
  • echo '<div style="text-align:center;">La fonction n&#39; est pas disponnible.</div>',"\r\n";
  • }
  • ?>
  • </body></html>
Version Simple
<?php
$ip = $_SERVER['REMOTE_ADDR'];//On obtient l'adresse IP
$gethostbyaddr = gethostbyaddr($ip);
$dyn = explode('.', $gethostbyaddr);
$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>';
?>


Version Complète
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-LANGUAGE" content="French" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="GENERATOR" content="PHP Designer 2005" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/ccs" />
<meta name="author" content="Nuel Guillaume" />
<style type="text/css" media="screen">
body {
    background-color: #FFFFFF;
    text-align: left;
}

.Gras {
    font-weight: bolder;
}
</style>

<title>FAI</title>

</head><body>
<?php
$ip = $_SERVER['REMOTE_ADDR'];//On obtient l'adresse IP
$gethostbyaddr = gethostbyaddr($ip);
$dyn = explode('.', $gethostbyaddr);
$nb_points = substr_count($gethostbyaddr, '.');// Nombre de point(s) dans la ligne

if(IsSet($dyn[$nb_points],$dyn[$nb_points - 1])){
    $fichier = $dyn[$nb_points - 1].'.'.$dyn[$nb_points];// Adresse du fichier
    if(@fopen('http://www.'.$fichier,'r') || @fopen('http://'.$fichier,'r')){//Il existe ;-)
        echo 'Votre IP est <span class="Gras">',$ip,'</span><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>';
    }else{
        echo '<div style="text-align:center; color:#FF0000;">L&#39; adresse <span class="Gras">',$fichier,'</span> n&#39; existe pas.</div>',"\r\n";// Il n' existe pas :'(
    }
}else{
    echo '<div style="text-align:center;">La fonction n&#39; est pas disponnible.</div>',"\r\n";
}
?>
</body></html>

Conclusion

Le code XHTML est validé par W3C.org et les CSS aussi.
L'adresse IP sur l' image est bidon donc normale qu' elle ne corresponde pas au fai.
Cette source est Gratuite (distribuée sous licence GPL).
Laissez moi vos messages.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

22 mai 2005 14:51:40 :
Ajout d'un exemple
23 mai 2005 11:56:22 :
Faute d'orthographe
30 mai 2005 21:11:11 :
Ajout du code XHTML, quelques tests d'existence de variables et verification de l'existance de l'adresse.
30 novembre 2005 19:19:40 :
Mise à jour des mots clés
01 janvier 2007 18:56:07 :
De nouvelles fonctions ;-)

Commentaires et avis

signaler à un administrateur
Commentaire de malalam le 22/05/2005 17:42:45 administrateur CS

Hello,

juste pour dire que portail ne prend pas de "e" a la fin ;-)
Sinon ca marche, bien :-)

signaler à un administrateur
Commentaire de malalam le 22/05/2005 17:43:54 administrateur CS

J'aurais bien note (7) mais apparemment ca ne passe plus avec mon firefox...desole.

signaler à un administrateur
Commentaire de ImmortalPC le 23/05/2005 11:59:44

Salut,
Oups
désolé pour la phote(là c'est fait exprès)
Et merci pour la note meme si je ne comprend pas que ça ne marche pas !?
Moi ça marche nikel.
@+

signaler à un administrateur
Commentaire de malalam le 23/05/2005 12:14:19 administrateur CS

Apparement, ca a marche, lol...

signaler à un administrateur
Commentaire de Garno le 23/05/2005 14:41:25

De toute façon le naviguateur n'a pas d'importance sur le php donc je vois pas comment ça aurait pu ne pas fonctionner.

Sinon c'est bien joué et je vais surement l'utiliser pour mes statistiques ^^

signaler à un administrateur
Commentaire de ImmortalPC le 23/05/2005 16:01:57

Merci à vous deux.
Dit Malalam où sont passés les 3 points que je puissent améliorer le code?
@++

signaler à un administrateur
Commentaire de malalam le 23/05/2005 16:14:09 administrateur CS

=> Garno
de quoi tu parles...lol ? Je parlais pour ma part de noter cette source, ici, sur phpcs, pas de cette source en elle-meme.

=> ImmortalPC
heu... "Je n'ai pas mis tout le code XHtml car le but n'est pas là !!!!" par exemple ;-)
Et quelques tests d'existence parce que c'est un meilleur exemple :-) Et qu'on ne sait jamais ce qui peut se passer...is_array(), isset() etc...

signaler à un administrateur
Commentaire de Naixn le 23/05/2005 19:57:12

"Cette source est Gratuite et distribuée sous licence GPL.
Laissez moi vos messages. "

J'ai beaucoup ri à la lecture de ce petit passage. Merci d'avoir égayé ma journée ^__^

signaler à un administrateur
Commentaire de ImmortalPC le 23/05/2005 21:53:04

Quoi

signaler à un administrateur
Commentaire de Naixn le 23/05/2005 22:37:32

Bah, je vois pas l'intérêt de mettre une source payante sur ce site ... Ce site est un forum d'exemple, permettant l'apprentissage etc.
C'est une aide entre développeurs/scripteurs, faire payer un code que l'on disitribue, ce serait un peu idiot ^^ ( Les applis payantes sont rarement open source )

Et puis même, quand tu parles de source pour un si petit code... Moi je parlerais plus de fonction ou d'astuce, mais pas de source quoi. Ça rajoute encore un certain ridicule à l'utilisation de "source distribuée sous OpenGL"

signaler à un administrateur
Commentaire de ImmortalPC le 24/05/2005 13:41:07

ok mais c'est pour ceux qui ne savent pas ce qu'est la licence GPL.
++

signaler à un administrateur
Commentaire de AtomiKiller le 27/05/2005 00:24:28

10/10 Car utile, rapide, clair et bien trouvé =)

signaler à un administrateur
Commentaire de galadriann le 30/05/2005 14:29:00

L'idee est excellente mais seul petit hic ...
Tout les FAI ne sont pas formate de la meme maniere ...
de la ou je bosse par exemple j'obtiens ... :
Votre IP est xxx.xxx.23.xxx
Votre FAI est 23

c'est assez rigolo ...  mais je l'utiliserais probablement sur mon site aussi ...

Bravo ...

signaler à un administrateur
Commentaire de ImmortalPC le 30/05/2005 20:22:48

Merci
mais pour le bug là je vois pas !?
Mais je vais arranger ça  !!!!
Dans environ 30 min ce sera modif.
@+

signaler à un administrateur
Commentaire de ImmortalPC le 30/05/2005 21:16:50

Et voilà !!
J'ai mit à disposition 2 versions, une de base et l'autre avec toutes les modifications appartir des demandes.
@+

signaler à un administrateur
Commentaire de RDave le 01/06/2005 21:53:19

Ouais ben moi j'ai

"L'adresse adslplus.ch n' existe pas."

chais pas comment faut prendre ca... je pense que dans mon cas la fonction gethostbyaddr() ne retourne pas les données sous le format que tu attends ?!

signaler à un administrateur
Commentaire de ImmortalPC le 02/06/2005 11:00:16

Salut,
Je pense que soit ça viens de t'a connection soit du serveur mais dans les 2 cas la connection passe par un proxi.
Il y a une nouvelle version !!
Pour éviter ce genre de problème utilise la version complète.
@+

signaler à un administrateur
Commentaire de RDave le 02/06/2005 23:49:03

ben nannn, avec ta version complète, la fonction gethostbyaddr retourne :

"adsl-xx-xxx-xx-xxx.adslplus.ch"

et pourant www.adslplus.ch n'existe pas... c'est con hein

proxi ? quel proxi ?

bye loulou

signaler à un administrateur
Commentaire de ImmortalPC le 03/06/2005 07:44:56

Salut,
Ton fai ou ton serveur doit passer par un proxi ce qui fait que l'on ne peut savoir le FAI.(Les hacker utilisent ce genre de méthode pour éviter d'etre trouvé)
J'essaie de mettre au point un programme pur éviter ça !!!
En attendant bah tu auras toujours le meme réponce de la part du serveur.
Juste une question c'est quoi ton fai ?
@+

signaler à un administrateur
Commentaire de RDave le 03/06/2005 13:09:24

ben c'est là la vrai question !
Je sais pas quoi te répondre, à part que sur mes facture adsl, c'est marqué "sunrise"...

Mais tu crois pas qu'un isp peut exister sans avoir de site web associé ?

Moi jdis ca, jdis rien..

P:S Dans ma feuille de configuration que mon fai m'a envoyé au tout début il est marqué

"L'adresse IP est attribuée automatiquement, et sunrise n'utilise aucun serveur Proxy" !!!

J'en conclut que (au bol), mon fai est "adslplus.ch", qui ne correspond pas à un site web, mais qui est commercialement appelé "sunrise" !

bye

signaler à un administrateur
Commentaire de ImmortalPC le 03/06/2005 14:11:00

Je le pense aussi.
j'ai fait une recherche et je suis tombé sur ça http://www.sunrise.ch/fr/home.htm
Juste un truc t'es trop fort toi tu sais pas qui est ton FAI!!!
@++

signaler à un administrateur
Commentaire de grandvizir le 04/06/2005 14:50:25

«Un dernier truc le code ne marche pas en local». Vrai, sauf si on retouche ton code avec ce qui suit:

<?php
  $IP = $HTTP_SERVER_VARS['REMOTE_ADDR'];
  echo 'Votre IP est <strong>'.$IP.'</strong><br>';
  echo 'Votre FAI est <strong>'.gethostbyaddr($IP).'</strong>';
?>

En l'occurence, j'obtiens le nom qu'a mon PC sur le réseau local. Et du coup, je me demande si (tel quel) c'est pas plus simple...

signaler à un administrateur
Commentaire de ImmortalPC le 04/06/2005 16:03:36

Salut,
désoler pour toi mais non ça viens pas de ça !!!
C'est la fonction gethostbyaddr qui n'est disponible que si l'on installe PEAR.
@+

signaler à un administrateur
Commentaire de zyxel12 le 06/06/2005 12:07:10

Bonjour,

Bonne idée ce code, sympa même, mais deux problèmes:
La version simple marche, mais pas la complète, du moins le seul message retourné est, en l'essayant avec une connexion Nerim, que nerim.net n'existe pas....
Deuxième souci: j'espèrais un fichier de log des connexions comme c'est généralement le cas, et le but, mais pas de log...
Dommage, mais idée encore une fois sympa.
Cordialement

signaler à un administrateur
Commentaire de ImmortalPC le 06/06/2005 13:03:45

Salut,
Heu là je vois pas :
essaye ça et dit moi ce qu'il te renvoie.
<?php
  echo gethostbyaddr($HTTP_SERVER_VARS['REMOTE_ADDR']);
?>
Deuxième souci :
Il faut aller voir ma dernière source pour ça:
http://www.phpcs.com/codes/STATS-FAI/31668.aspx
@+

signaler à un administrateur
Commentaire de zyxel12 le 07/06/2005 12:31:42

Bonjour,

Alors le teste est clair, je récupère "login".net1.nerim.net
La structure est probablement particulière à Nerim, ce qui explique le souci, mais est un peu gênant quand on est chez Nerim!! :)
Je vais essayer l'autre source, en espérant qu'il n'en est pas de même, mais c'est assez probable si c'est la même base....

Cordialement.

signaler à un administrateur
Commentaire de ImmortalPC le 07/06/2005 12:44:46

J'ai compris de quoi ça viens!!!
Il utilise IPv6 et pas IPv4
IPv4 est la + utilisée et la scource est basé sur IPv4.
@+

signaler à un administrateur
Commentaire de zyxel12 le 07/06/2005 13:11:31

C'est fort possible, j'avoue ne pas m'en être préoccupé...  Dommage que ça rende le résultat inexploitable.
Bonne suite

signaler à un administrateur
Commentaire de ImmortalPC le 07/06/2005 15:56:40

Merci
Regarde une IPv4 : 62.4.16.81
et une IPv6 : 2001:7a8:1:1::75
Ca calme.
Si tu trouves une autre source pour savoir le FAI prévient moi svp.
@+

signaler à un administrateur
Commentaire de Mattpbem le 26/06/2005 20:28:25

amusant, le programme dit que mon FAI est proxad.net je clique et je tombe sur le portail de free ^^

signaler à un administrateur
Commentaire de Naixn le 26/06/2005 21:17:51

C'est normal, free utilise proxad ( ou l'inverse ).
Essaye d'aller sur www.proxad.net et tu vera que tu sera automatiquement redirigé :)

signaler à un administrateur
Commentaire de GillesWebmaster le 20/07/2005 06:25:09

Salut
Petit détail: je réside en Suisse et je suis connecté chez swisscom (pour ceux qui connaissent) et malheureusement le loggin utilisé n'est pas swisscom mais adslplus alors il faudrais faire un array en listant tout les possibilitlés...
salut

signaler à un administrateur
Commentaire de ImmortalPC le 20/07/2005 13:53:42

Salut,
J'y avais pas pensé :-/
Merci de l'idée je vais voir ce que je peu faire.
@+

signaler à un administrateur
Commentaire de fanfouer le 01/01/2007 01:38:55

Effectivement, c'est deja une piste... Mais de là a rassembler tous les FAI et leurs domaines respectifs dans un array il va se passer du temps.
Pourquoi ne pas utiliser ripe.net? Le site rassemble les baux de locations d'adresse IP, en fonction docn de l'adresse du visiteur, on sait tout de suite a quoi ca appartient.

Je donne juste un petit coup de pouce ;)

signaler à un administrateur
Commentaire de ImmortalPC le 01/01/2007 18:51:01

Salut,

mais esque ça marchera à tout les coups ???
Dans tout les cas j' ai ajouté une version avec WhoIs et une version avec une liste de quelque FAI ;-)

@+

signaler à un administrateur
Commentaire de fanfouer le 02/01/2007 11:52:03

A oui... il est certains que ca marchera a tous les coups puisque il connait a peu près toutes les IP au moins europeene (je suis pas sur pour les USA, mais ptet ben que oui).

Question a part, pour alice/tiscali as-tu quelque chose dans ta liste?

signaler à un administrateur
Commentaire de ImmortalPC le 04/01/2007 00:18:37

Salut,

Bonne année, bonne santé et Meilleur veux ;-)

"Question a part, pour alice/tiscali as-tu quelque chose dans ta liste?"
>> C' est à dire ??
Pour quoi faire ?

@+

signaler à un administrateur
Commentaire de fanfouer le 04/01/2007 15:25:21

Merci et bonne année a toi aussi. :)

Ben est-ce que dans ta liste tu as des mots clés pour tisacli/Alice ?
C'est pour me faire une liste de DSLAM ^^

signaler à un administrateur
Commentaire de ImmortalPC le 05/01/2007 20:37:39

Salut,

non je n' ai rien mit pour Tisacli/Alice.
étant donné que tiscali n' exsite plus et que c' est Alice maintenant, j' ai pensé qu' ils avaient du changer le nom dans les serveurs.
Pour ceux qui lisent ceci et qui sont soit chez Tiscali soit chez Alice allez sur le lien suivant et donnez moi votre résultat.
http://www.immortalpc.free.fr/FAI.php
Merci.

"C'est pour me faire une liste de DSLAM ^^"
>> Bon courrage ;-)
Tiens moi au courant, merci ;-)

@+

signaler à un administrateur
Commentaire de fanfouer le 05/01/2007 20:46:10

Le resultat se terminera par ppp.tiscali.fr les domaines n'ont pas changés, du moins, moi j'ai encore trouvé la semaine derniere des connexion là dessus, après, savoir si c'est le principal je n'en sait rien.

Je vais diffuser ton lien sur ariase, on verra bien la réponse (et je reviens le remettre là dès que je l'ai)

>> Bon courrage ;-)
Merci, cependant, c'est pas ma premiere, j'ai l'experiance mdr

signaler à un administrateur
Commentaire de GillesWebmaster le 05/08/2008 13:23:12 10/10

Belle réalisation!

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

l'IP des visiteurs d'un blog [ par shigure ] Je voudrais enregistrer l'IP des visiteurs de mon blog.Mon blog est sur 20six.Pour l'enregistrement des données, soit vers un fichier *.txt sur un ftp probleme update et delete [ par blinix123 ] Bonjour à tous, alors voila, j'ai un script qui me permet de compter le nombre de visiteurs totale et le nombre de visiteurs en ligne, or bien evidemm ip du fai [ par dragoune ] bonjours,j' ai lu quelques forum et bon j'ai trouvé ça :$_SERVER['HTTP_X_FORWARDED_FOR']$_SERVER['HTTP_CLIENT_IP']mais le second code indique mon ip l Connaître l'IP des visiteurs [ par bigcheek ] Bonjour à tous,Je suis assez débutant en php et je souhaiterai connaître l'adresse ip des personnes visitant une certaine page de mon site.Je me suis Image et Ip [ par ooosakilo ] Bonjour, ca fait quelque temps que je cherche et je trouve pas.Alors je voudrais afficher l'ip, l'acces internet, le navigateur internet et l'OS d'une compteur de nombre de visiteurs connecté [ par developvbdebut ] Bonjour tout le mondeQuel qu'un a ti'l déja utilisé la source de antidoteVoici le nom de la source ce dessou:COMPTEUR DE VISITEURS CONNECTÉS EN TEMPS comment empêcher une poste à accéder à mon site connaissant son IP [ par sahliali ] Je vient de créer un site web intranet et je veut réaliser une table dont laquelle j'enregistre tous les traces d'un visiteur parmis ces traces son IP Sondage, reconnaissance IP... [ par jojomillenium ] Hello!Voila ma question. Je propose un sondage sur mon site, et j'aimerai interdire le vote multiple...J'ai alors fait le test de l'adresse IP enregis la TV IP [ par kyupy ] ¨bonjour j'aimerai  faire un television ip dans un reseau local et comment faire SVP probleme avec lecture de fichier [ par dipin ] bonjour tout le monde !alors voila ce petit code pour un compteur unique marche très bien en local mais j'ai un problème pour l'affichage du nombre de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,780 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.