ccc

IP: Obtener el country_code de un país a partir de una IP (sin APIs de pago)

function getIPUser() {
   $ip = 0;
   if (!empty($_SERVER['HTTP_CLIENT_IP']) && (ip2long($_SERVER['HTTP_CLIENT_IP']) != -1)) {
  $ip = $_SERVER['HTTP_CLIENT_IP'];
       }
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ipList = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
  if ($ip) {
array_unshift($ipList, $ip);
$ip = 0;
  }
  foreach ($ipList as $v) {
$v = trim($v);
if (!eregi('^(192\.168|172\.16|10|224|240|127|0)\.', $v) && (ip2long($v) != -1)) {
  return $v;
}
  }
}
return $ip ? $ip : $_SERVER['REMOTE_ADDR'];
}

function esArgentina() {
     $retorno = false;
     $ip = getIPUser();
    $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
     if ($details->country == "AR") { // argentina
    $retorno = true;
     }
    return $retorno;
}

No hay comentarios:

Publicar un comentario