elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Mostrar anuncios dependiendo de la provincia del visitante. (ESPAÑA)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mostrar anuncios dependiendo de la provincia del visitante. (ESPAÑA)  (Leído 2,190 veces)
OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Mostrar anuncios dependiendo de la provincia del visitante. (ESPAÑA)
« en: 7 Noviembre 2014, 15:50 pm »

Buenas tardes :
Quiero mostrar anuncios personalizados dependiendo de la ubicación del visitante (en concreto únicamente por la provincia).
Es decir, si el visitante es de madrid que muestre el banner1 y si el visitante es de Sevilla que muestre el banner2.

He visto que por html5 te dice la ubicación exacta pero necesita la previa aprobación del usuario. Quisiera que fuese transparente al usuario y no le pregunte que alguien quiere obtener su ubicación y que si quiere aceptar.

Sólo necesito saber la provincia.

Me aconsejan algún método?

Gracias. 


En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: Mostrar anuncios dependiendo de la provincia del visitante. (ESPAÑA)
« Respuesta #1 en: 7 Noviembre 2014, 15:52 pm »

Habia pensado en hacer llamadas a url externas que te proporcionan dicha información a través de la IP pero quisiera saber vuestra opinión ya que tiene que ser lo más fiable posible.

Código:
<?php

        $ip = '212.32.52.135'; //IP de ejemplo
        $default = 'desconocido'; //IP por defecto
        if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost') $ip = '8.8.8.8';
        $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';
       
        $url = 'http://ipinfodb.com/ip_locator.php?ip='.urlencode($ip);
        $ch = curl_init();
       
        $curl_opt = array(
            CURLOPT_FOLLOWLOCATION => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $curlopt_useragent, CURLOPT_URL => $url, CURLOPT_TIMEOUT => 1, CURLOPT_REFERER => 'http://'.$_SERVER['HTTP_HOST'],
        );
       
        curl_setopt_array($ch, $curl_opt);
       
        $content = curl_exec($ch);
       
        if (!is_null($curl_info)) { $curl_info = curl_getinfo($ch);  }
       
        curl_close($ch);
       
        if ( preg_match('{<li>Ciudad: ([^<]*)</li>}i', $content, $regs))  $ciudad = $regs[1];
        if ( preg_match('{<li>Provincia: ([^<]*)</li>}i', $content, $regs)) $estado = $regs[1];
        if( $ciudad != '' && $estado != '' ){
            $location = $ciudad. ', ' . $estado;
            echo $location;
        } else {
            echo $default;
        }
 ?>


En línea

R2100

Desconectado Desconectado

Mensajes: 9



Ver Perfil WWW
Re: Mostrar anuncios dependiendo de la provincia del visitante. (ESPAÑA)
« Respuesta #2 en: 14 Noviembre 2014, 22:39 pm »

Si lo quieres que funcione desde móviles, haz primero unas cuantas pruebas a ver qué provincia te devuelven para conexiones gprs, 3g...
El servicio que utilizas (http://ipinfodb.com) y todos los que he probado fallan a nivel de provincia en España.
A mi desde Madrid y Vodafone, me da State/Province : Catalonia  :o, y eso que entrando directamente en la web, te dicen que los datos provienen de la versión de pago, que tiene más puntería.

A parte de esto, el único 'problema' que le veo al código es que tu hosting no te permita curl y el problema de utilizar el literal que devuelvan de provincia. En vez de este, utiliza las 2 primeras cifras del cp


En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: Mostrar anuncios dependiendo de la provincia del visitante. (ESPAÑA)
« Respuesta #3 en: 17 Noviembre 2014, 09:41 am »

Estoy buscando otras alternativas porque me gustaría algo local y que no haga llamadas externas, aunque creo que esto no va a ser posible.
Gracias por tu consejo.
En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: Mostrar anuncios dependiendo de la provincia del visitante. (ESPAÑA)
« Respuesta #4 en: 17 Noviembre 2014, 20:00 pm »

Me temo que no es viable e igual ninguna página lo hace porque el número de llamadas a la api para obtener la provincia sería muchísimos.
En línea

el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 21.637


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: Mostrar anuncios dependiendo de la provincia del visitante. (ESPAÑA)
« Respuesta #5 en: 17 Noviembre 2014, 20:29 pm »

si es un proyecto serio pues compra la base de datos en local y actualizada y no uses recursos externos (apis).

Al ser local no habría límite de peticiones.

Hay varios servicios con base de datos de ip's (Versiones gratuitas y de pago)

ipinfodb
ip2location.com
MaxMind GeoIP

[IP2Location][Lite] Bases de datos para localizar IP's (gratis).
http://foro.elhacker.net/desarrollo_web/ip2locationlite_bases_de_datos_para_localizar_ips_gratis-t394871.0.html

En el localizador de ip de elhacker.net estamos usando base de datos gratuita en local junto con una de pago:

http://www.elhacker.net/geolocalizacion.html

- Actualizada la versión de la base de datos geoip (http://ipinfodb.com/) a la última versión gratuita (por ejemplo mi ip decía que era de Viladecans y es de Barcelona). La base de datos se actualizó por última vez en Mayo de 2013. La base de datos manda la longitud y latitud para dibujarla en el mapa de google maps usando la api de google.

Usamos la base de datos:

Citar
DB11.LITE   IP2Location LITE IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE Database
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Facebook se prepara para mostrar anuncios en toda Internet
Noticias
wolfbcn 4 2,490 Último mensaje 29 Noviembre 2012, 10:17 am
por crazykenny
Listas enlazadas provincia-localidades España
PHP
OssoH 0 2,591 Último mensaje 20 Diciembre 2012, 09:56 am
por OssoH
mostrar tv y mis anuncios
Dudas Generales
bengy 0 1,606 Último mensaje 7 Octubre 2014, 03:29 am
por bengy
¿Debería Puerto Rico volver a ser una provincia de España?
Foro Libre
Ori-chan 9 3,610 Último mensaje 12 Febrero 2015, 16:33 pm
por Orubatosu
¿se puede simular la conexion desde otra provincia de españa con nordvpn?
Dudas Generales
chupachota 1 2,405 Último mensaje 19 Mayo 2023, 19:49 pm
por assw1208
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines