Localiser géographiquement une adresse IP via des API pour PHP, Python, Java, C#, Perl…

MaxMindGeoIP fournit sous licence GPL une base de donnée permettant de localiser la ville et le pays d’une adresse IP. Ils fournissent également des API dans différents langages pour effectuer le calcul.

La fiabilité de la version gratuite est de 97% pour le pays et de 60% pour les villes dans un rayon de 40km aux Etats-Unis…Une nouvelle version de la base de donnée parait le premier de chaque mois.

Petite démonstration :
if(!ereg(’feed’,$_SERVER[”REQUEST_URI”]))
{
include_once(”./wp-content/scripts/geoipcity.inc.php”);

function getip() {
if (isSet($_SERVER)) {
if (isSet($_SERVER[”HTTP_X_FORWARDED_FOR”])) {
$realip = $_SERVER[”HTTP_X_FORWARDED_FOR”];
} elseif (isSet($_SERVER[”HTTP_CLIENT_IP”])) {
$realip = $_SERVER[”HTTP_CLIENT_IP”];
} else {
$realip = $_SERVER[”REMOTE_ADDR”];
}
} else {
if ( getenv( ‘HTTP_X_FORWARDED_FOR’ ) ) {
$realip = getenv( ‘HTTP_X_FORWARDED_FOR’ );
} elseif ( getenv( ‘HTTP_CLIENT_IP’ ) ) {
$realip = getenv( ‘HTTP_CLIENT_IP’ );
} else {
$realip = getenv( ‘REMOTE_ADDR’ );
}
}
return $realip;
}

$gi = geoip_open(”./wp-content/scripts/GeoLiteCity.dat”,GEOIP_STANDARD);

$record = geoip_record_by_addr($gi,getip());
echo ‘ton adresse IP est : ‘.getip().’ et tu habites à ‘.$record->city.’ en ‘.$record->country_name;

geoip_close($gi);
}
?>.

Laisser un commentaire