Version complète: sur le forum Webmaster Hub : Trouver l'adresse IP, et en afficher une partie
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Anonymus
ON peut chercher à connaitre l'adresse ip d'un visiteur, mais on peut aussi vouloir l'afficher, sur un forum, par exemple.
Certains forums, en effet, affichent le nom d'host, en partie masqué par des xxx.

Comment faire ?

CODE
<?

echo "<br>trouver l'ip par les variables d'environnenemt : <b>".getenv("REMOTE_ADDR")."</b>";

echo "<br>trouver le host par les variables d'environnenemt : <b>-".getenv("REMOTE_HOST")."</b>";

echo"<br>";

echo "<br>trouver le host par la fonction gethostbyaddr, et le paramètre getenv : <b>".gethostbyaddr(getenv("REMOTE_ADDR"))."</b>";

echo"<br> Puisque l'on a le host, on peut donc chercher l'ip correspondante;) avec la fonction gethostbyname : <b>".gethostbyname(gethostbyaddr(getenv("REMOTE_ADDR")))."</b>";

echo"<p>===============================";

echo"<br>Afficher l'adresse de quelqu'un, sous forme xxx.xxx.monfournisseur.tld";

echo"<br> Avec explode :";
$temp = explode(".",gethostbyaddr(getenv("REMOTE_ADDR")));
echo "<br><b>xxx.xxx.".$temp[2].".".$temp[3]."</b>";

echo"<p> La même chose, en expression régulière :";
echo "<br><b>".preg_replace("/([a-z0-9]+).([a-z0-9]+).([a-z0-9]+).([a-z0-9]+)/i","xxx.xxx.\\3.\\4",gethostbyaddr(getenv("REMOTE_ADDR")))."</b>";

?>


La sortie écran :
CODE
trouver l'ip par les variables d'environnenemt : 172.189.78.74
trouver le host par les variables d'environnenemt : -

trouver le host par la fonction gethostbyaddr, et le paramètre getenv : ACBD4E4A.ipt.aol.com
Puisque l'on a le host, on peut donc chercher l'ip correspondante;) avec la fonction gethostbyname : 172.189.78.74
===============================
Afficher l'adresse de quelqu'un, sous forme xxx.xxx.monfournisseur.tld
Avec explode :
xxx.xxx.aol.com

La même chose, en expression régulière :
xxx.xxx.aol.com


Anonymus.
-ZN-
Tres bonne participation, j'ajoute juste qu'il peut etre interressant de coupler tout ca au service IP to country ...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.