bonjour à tous ceux qui liront ce message !
voila je m'interroge sur la manière de récuperer l'ip du visiteur.
j'utilise actuellement la fonction suivante :
//====================================================
// >> RETOURNE L'IP DU VISITEUR
//====================================================
function get_ip()
{
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
$ip = $_SERVER['HTTP_CLIENT_IP'];
else
$ip = $_SERVER['REMOTE_ADDR'];
return $ip;
}
mais j'ai récuperer ces fonctions sur phpmyvisites
//============================
// >> RECUPERE IP
//============================
function getIp()
{
if( (isset($_SERVER['HTTP_CLIENT_IP'])) && ($ip = getFirstIpFromList($_SERVER['HTTP_CLIENT_IP'])) && (strpos($ip, "unknown") === false) && (getHost($ip) != $ip) )
return $ip;
elseif( (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) && ($ip = getFirstIpFromList($_SERVER['HTTP_X_FORWARDED_FOR'])) && (isset($ip)) && (!empty($ip)) && (strpos($ip, "unknown") === false) && (getHost($ip) != $ip) )
return $ip;
elseif( (isset($_SERVER['HTTP_CLIENT_IP'])) && (strlen( getFirstIpFromList($_SERVER['HTTP_CLIENT_IP']) ) != 0) )
return getFirstIpFromList($_SERVER['HTTP_CLIENT_IP']);
else if( (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) && (strlen (getFirstIpFromList($_SERVER['HTTP_X_FORWARDED_FOR'])) != 0) )
return getFirstIpFromList($_SERVER['HTTP_X_FORWARDED_FOR']);
else
return getFirstIpFromList($_SERVER['REMOTE_ADDR']);
}
//========================
// >> NETTOIE IP
//========================
function getFirstIpFromList($ip)
{
$p = strpos($ip, ',');
return (($p !== false) ? (substr($ip, 0, $p)) : ($ip));
}
//========================
// >> RECUPERE HOST
//========================
function getHost($ip)
{
return trim(strtolower(@gethostbyaddr($ip)));
}
Bref, qu'est-ce que ca apporte de plus ?