PHP | Bibliotecas para desarrolladores | IP Geolocation API | WhoisXML API

Biblioteca cliente IP Geolocation en lenguaje PHP Biblioteca cliente IP Geolocation en lenguaje PHP

Cómo realizar una búsqueda IP Geolocation en PHP

En este artículo voy a guiarle a través de la mejor manera posible de encontrar la ubicación física de una dirección IP en lenguaje PHP (también conocido como IP geolocation).

Desgraciadamente, no existen reglas rígidas y rápidas para averiguar dónde se encuentra físicamente una dirección IP. En su lugar, las empresas que ejercen de proveedores IP Geolocation reúnen muchos datos diferentes para construir una base de datos precisa sobre la ubicación de la IP.

Los datos IP Geolocation suelen estar compuestos por:

  • Datos WHOIS de los dominios (que a su vez deben ser agregados por los proveedores de datos)
  • Los Registros Regionales de Internet, que reparten grandes bloques de direcciones IP a diversos proveedores de servicios de Internet de todo el mundo (ISP)
  • Feeds BGP de grandes ISP
  • Información sobre la latencia (cuánto tarda un paquete procedente de determinadas ubicaciones físicas en llegar a la IP de destino)

Aunque conseguir usted mismo toda la información anterior es muy complicado y caro, hay por suerte unos cuantos grandes proveedores de servicios que ya han hecho este trabajo por usted y ofrecen datos IP Geolocation que puede consumir fácilmente.

Hoy le mostraré cómo utilizar nuestra recién lanzada biblioteca PHP simple-geoip para realizar una búsqueda en la base de datos IP Geolocation y devolverle la ubicación física de cualquier dirección IP que desee localizar.

Cree una cuenta IP Geolocation API Look-up Account

Lo primero que tendrá que hacer para utilizar la biblioteca simple-geoip es crear una cuenta gratuita IP Geolocation API: https://ip-geolocation.whoisxmlapi.com/signup.

IP Geolocation API es uno de los mayores proveedores de IP Geolocation y de los más económicos. Puede utilizar el servicio IP Geolocation API para realizar 1.000 consultas gratuitas IP Geolocation cada mes, o puede pagar una tarifa plana de 27 dólares al mes por 100.000 consultas. Aquí encontrará planes de tarifas adicionales.

Una vez que haya creado e iniciado sesión en su cuenta IP Geolocation API, tendrá que ver la página de productos de su cuenta y copiar su clave API: la necesitará más adelante para realizar consultas IP Geolocation .

Instale el paquete simple-geoip

Ahora que su cuenta está configurada, lo siguiente que debe hacer es instalar el paquete. Desde la línea de comandos, ejecute el siguiente comando:

                
$ composer require whois-api/simple-geoip
                
                

Esto descargará e instalará la última versión del paquete simple-geoip desde packagist.

Realice una búsqueda IP Geolocation utilizando simple-geoip

Ahora que ya tiene una cuenta y el paquete simple-geoip instalado, echemos un vistazo al código que puede ejecutar para buscar la dirección física de cualquier dirección IP que desee.

He aquí un pequeño script, `geoip.php`, que encontrará la ubicación física de una dirección IP popular (`8.8.8.8`, uno de los servidores DNS centrales de Google):

            
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use WhoisApi\SimpleGeoip\Builders\ClientBuilder;
$builder = new ClientBuilder();
$client = $builder->build('API_KEY');
try {
    echo $client->getRawData('8.8.8.8') . PHP_EOL;
    echo print_r($client->get('8.8.8.8'), true) . PHP_EOL;
} catch(\Exception $e) {
    echo $e->getMessage();
}
            
            

Como puede ver, en realidad solo hay tres pasos para utilizar la biblioteca:

  • Requiere el archivo autoload del composer.
  • Importe el constructor que construirá un cliente para usted.
  • Construya un objeto cliente API mediante la clave API que se creó cuando se registró en el servicio IP Geolocation API.
  • Ejecute el método `getRawData` al introducir la dirección IP que desea verificar. Además, puede especificar el formato del resultado (json o xml). Este método devolverá una cadena que contiene el resultado en varios formatos (json/xml).
  • Ejecute el método `get` al introducir la dirección IP de la que desea obtener la ubicación. Este método devolverá un objeto ResponseModel que contiene datos bien analizados, incluyendo la dirección, el código postal, la zona horaria, etc.

Los datos devueltos por el método `get` tendrán este aspecto:

            
WhoisApi\SimpleGeoip\Models\Response Object ( [ip] => 8.8.8.8 [location] => WhoisApi\SimpleGeoip\Models\Location Object ( [country] => US [region] => California [city] => Mountain View [lat] => 37.40599 [lng] => -122.078514 [postalCode] => 94043 [timezone] => -07:00 ) )
            
            

Este objeto PHP le indica todo lo que necesita saber sobre la ubicación física de la dirección IP `8.8.8.8`.

Entre bastidores, el servicio IP Geolocation API se encarga de todas las consultas a la base de datos IP Geolocation y de la agregación de datos: obtener los datos de los proveedores y procesar millones de actualizaciones al día.

Utilice sus nuevos datos IP Geolocation

Ahora que ha visto lo fácil que es encontrar la ubicación física de las direcciones IP utilizando la biblioteca biblioteca simple-geoip, ¡debería empezar a implementar las búsquedas IP Geolocation en su producto o servicio!

Algunos casos de uso realmente comunes para los datos IP Geolocation incluyen:

  • Detectar el país de un usuario cuando visita su sitio web y ofrecerle una experiencia personalizada en función de su ubicación (idioma, anuncios, diseño, moneda, etc.)
  • Bloquee el acceso a su sitio web a los usuarios de determinadas ubicaciones. Por ejemplo, si tiene un servicio de streaming y solo tiene derechos para emitir en un país concreto, las búsquedas IP Geolocation pueden proporcionarle esos datos para que solo pueda servir a los clientes de las regiones en las que puede legalmente operar.
  • Mitigación de fraude y de riesgos. Si observa una gran cantidad de fraudes procedentes de una determinada lugar, bloquear temporalmente a los visitantes de ese lugar podría ser una forma rápida de ayudar a mitigar el fraude y otros problemas.

Al analizar las direcciones IP de los visitantes de su sitio web puede mejorar enormemente cualquier producto y servicio.

Utilice simple-geoip

Para terminar: realizar búsquedas IP Geolocation no tiene por qué ser difícil ni caro. Utilizando nuestra nueva biblioteca PHP https://github.com/whois-api-llc/php-simple-geoip y el servicio IP Geolocation API podrá crear y gestionar fácilmente incluso un gran producto web por muy poco dinero.

Si necesita realizar búsquedas IP Geolocation, eche un vistazo a la biblioteca simple-geoip, ya que hace que buscar la ubicación de la dirección IP sea increíblemente sencillo.

Si tiene alguna pregunta, envíenos un correo electrónico.