La versión 1.71 de Kumbia Enterprise incluye un ligero pero efectivo componente de
geo-localización.
Su nombre es GeoIP y tiene como objetivo facilitar la identificación del territorio desde el cuál se accede através de la
dirección IP del cliente. GeoIP está escrito completamente en PHP y no requiere extensiones, ni depende de librerias externas.
¿Cómo funciona la Geo-Localización?
Cada país tiene unos segmentos de direcciones IP claramente definidos que pueden ser usados por los ISP de cada país.
Estos segmentos permiten ubicar una dirección IP pública al territorio desde el cuál se accedió a la aplicación.
El componente GeoIP es capaz de obtener el país asociado a la IP con un porcentaje de acierto del 92%. Soluciones
comerciales de código cerrado ofrecen hasta un 95% de acierto.
¿Qué se puede hacer con Geo-Localización?
Las principales aplicaciones son:
Controlar el contenido que se sirve cuando está restringido a determinados paises. Por ejemplo, algunos videos
no se pueden visualizar en Youtube dependiendo desde el país donde se vean.
Generar publicidad contextual de acuerdo al país desde donde se acceda
Prevenir el fraude ó ingreso no autorizado limitando el uso de las aplicaciones a determinados paises
Usar GeoIP
El componente puede ser usado solo invocando la clase GeoIP. A continuación veremos algunos ejemplos:
echo GeoIP::countryByIP("200.13.232.49"); // Colombia
echo GeoIP::countryByIP("200.48.11.235"); // Peru
El método GeoIP::countryByIP recibe una IP pública versión 4 y devuelve el nombre del país en inglés correspondiente.
El país también puede obtenerse apartir del nombre del host:
//Los servidores de Twitter están en Estados Unidos
echo GeoIP::countryByHostname("twitter.com");
//Los servidores de Opera están en Noruega
echo GeoIP::countryByHostname("www.opera.com");
Obtener el país origen de la Petición
GeoIP también tiene el método getRequestCountry() que obtiene el país apartir de la IP del cliente HTTP.
La obtención de la IP del cliente tiene en cuenta si se accede desde un proxy ó directamente
$country = GeoIP::getRequestCountry();
GeoIP en conjunto con Locale
Ya se ha visto anteriormente las capacidades del componente
Locale. Ahora que podemos
obtener el país desde el cuál se accede podemos localizar la aplicación adecuadamente:
//Obtenemos el territorio
$country = GeoIP::getRequestCountry();
//Obtiene la localización más adecuada
$locale = Locale::fromCountry($country);
//Idioma de la localización
echo $locale->getLanguage();
Conclusiones
El componente GeoIP nos permite implementar geo-localización haciendo que las aplicaciones y sitios web estén
mejor adaptados a cada usuario ó visitante.
Crear aplicaciones más profesionales integrando todos los componentes de localización es más fácil con
Kumbia Enterprise.
Tell friends about this article on social networks: