Plataforma de código abierto para gobierno electrónico.Administración electrónica.
        Open Source Plattform for e-government.

"Beethoven era un buen compositor porque utilizaba ideas nuevas en combinación con ideas antiguas.
Nadie, ni siquiera Beethoven podría inventar la música desde cero. Es igual con la informática" (Richard Stallman)


Geolocalización en PHP5 usando GeoIP de Maxmind

11/07/2008
Dar a conocer este artículo: Añade este link a delicius Menea esta noticia Enviar a technorati Enviar a Digg Enviar a Wikio Enviar a yahoo
Una de las principales ventajas de la red Internet es el alcance de la misma, ya que es posible conectarse a ella y utilizar los servicios que ofrece desde prácticamente cualquier país del mundo. Esto, que puede parecer una enorme ventaja, puede también suponer un problema a la hora de analizar con detalle el tráfico recibido en un sitio web.

Para ayudarnos en esa tarea podemos utilizar una herramienta que nos permita identificar la localidad y/o el país desde el que se producen las visitas a nuestra web. De esta forma seremos capaces de llevar a cabo acciones como esta:

  • Seleccionar automáticamente el idioma en el que se muestran los contenidos de la web en función del país de procedencia del visitante.
  • Mostrar páginas personalizadas para visitantes de diferentes regiones geográficas.
  • Preseleccionar automáticamente el país, provincia y ciudad de residencia en los formularios que precisen esa información.
Una base de datos de geolocalización es el elemento fundamental necesario para poder determinar la ubicación geográfica a partir de la dirección IP del visitante. Para el desarrollo de esta aplicación se ha utilizado la proporcionada por Maxmind que está localizable, junto con su API para PHP en la dirección http://www.maxmind.com/app/php.

El siguiente ejemplo de código muestra el procedimiento a seguir para determinar la ubicación geográfica del visitante de la página, que pasa por la obtención de la dirección IP real del visitante (sin tener en cuenta proxyes), la carga de la base de datos de geolocalización y la llamada a la función que se encarga de convertir esa dirección IP en código de pais.

<?php

include_once('geoipcity.inc');

if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$ip_address = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip_address = $_SERVER["HTTP_CLIENT_IP"];
} else {
$ip_address = $_SERVER["REMOTE_ADDR"];
}

$gi = geoip_open('GeoLiteCity.dat',GEOIP_STANDARD);
$record = geoip_record_by_addr($gi,$ip_address);
$pais = $record->country_code;

?>


Live!


Instalaciones

Desgarga OP Application framework.Plataforma entorno web.Php 5

Últimas noticias RSS



Últimos scripts & snippets RSS