This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

Mostrando la ubicación de una dirección IP en un mapa en tan solo tres líneas.

  • 4 Replies
  • 3078 Views

0 Members and 2 Guests are viewing this topic.

Offline Polsaker

  • *
  • Underc0der
  • Posts: 33
  • Actividad:
    0%
  • Reputación 1
  • We do what we must because we can
    • View Profile
Buenas, esta vez vengo a dejarles otro de los trozos de código que suelo utilizar yo en algunas páginas.
Este código muestra un mapa con la ubicación de una IP utilizando la API de mapas estáticos de Google e ip-api.com para obtener la información de la geolocalización. Solo hay que pasarle el parámetro ip vía GET al script.

Code: (php) You are not allowed to view links. Register or Login
<?php
$ipinfo 
json_decode(file_get_contents("http://ip-api.com/json/" $_GET['ip']));
$latlong $ipinfo->lat "," $ipinfo->lon;

echo 
"<img src=\"https://maps.googleapis.com/maps/api/staticmap?center={$latlong}&zoom=13&size=600x300&markers=color:red%7Clabel:IP%7C{$latlong}\"/>";
?>

También, para incluirlo de forma mas sencilla en páginas (este, por ejemplo, se podría utilizar en una firma del foro  ::) )

Code: (php) You are not allowed to view links. Register or Login
<?php
$ipinfo 
json_decode(file_get_contents("http://ip-api.com/json/" $_GET['ip']));
$latlong $ipinfo->lat "," $ipinfo->lon;
header('Content-Type: image/png'); 
echo 
file_get_contents("https://maps.googleapis.com/maps/api/staticmap?center={$latlong}&zoom=13&size=600x300&markers=color:red%7Clabel:IP%7C{$latlong}");
?>

Por supuesto, pueden cambiar el tamaño del mapa alterando el parámetro size que se envía a la API de Google.

Saludos,
Polsaker
« Last Edit: May 30, 2015, 02:31:49 am by WhiZ »

Offline Yavi

  • *
  • Underc0der
  • Posts: 166
  • Actividad:
    0%
  • Reputación 0
  • Es como una pagina redirigiendose a si misma
  • Twitter: @YaviOS64
    • View Profile
    • Email
Muy buen aporte, aunque no se porque a mi me sale que la imagen tiene errores cuando intento ejecutar el ejemplo de la  "firma"  :-\
"Eso es lo bueno de internet. De que sirve internet si chateas con tus vecinos??? para eso te sacas unas sillas al fresco y hablais y jugais a las cartas". @windux

Offline Polsaker

  • *
  • Underc0der
  • Posts: 33
  • Actividad:
    0%
  • Reputación 1
  • We do what we must because we can
    • View Profile
You are not allowed to view links. Register or Login
Muy buen aporte, aunque no se porque a mi me sale que la imagen tiene errores cuando intento ejecutar el ejemplo de la  "firma"  :-\
A mi me funciona. ¿Le pasaste el parámetro "ip" vía GET? Puedes probar comentando la línea cuatro (la que tiene la función header) para poder ver el error.

Offline arthusu

  • *
  • Ex-Staff
  • *****
  • Posts: 552
  • Actividad:
    0%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • View Profile
    • Arthusu BLOG
Muy bueno polsaker +1, ya conocia esa pagina, tambien habia una base de datos con ips de latitude y longitude: You are not allowed to view links. Register or Login gracias a @You are not allowed to view links. Register or Login el me lo comento hace un tiempo, saludos!
Pentest - Hacking & Security Services

Contact me: [email protected]

Offline Yavi

  • *
  • Underc0der
  • Posts: 166
  • Actividad:
    0%
  • Reputación 0
  • Es como una pagina redirigiendose a si misma
  • Twitter: @YaviOS64
    • View Profile
    • Email
Quote
Muy buen aporte, aunque no se porque a mi me sale que la imagen tiene errores cuando intento ejecutar el ejemplo de la  "firma"  :-\

Aunque se ha notado que si se intentas obtener el contenido del mapa de Google usando HTTPS desde una página http te lanza error. entonces mi código modificado seria algo así:  8) :P

Code: (php) You are not allowed to view links. Register or Login
<?php
$ipinfo 
json_decode(file_get_contents("http://ip-api.com/json/" $_REQUEST['ip']));
$latlong $ipinfo->lat "," $ipinfo->lon;
header('Content-Type: image/png'); 
echo 
file_get_contents("http://maps.googleapis.com/maps/api/staticmap?center={$latlong}&zoom=13&size=600x300&markers=color:red%7Clabel:IP%7C{$latlong}");
?>

"Eso es lo bueno de internet. De que sirve internet si chateas con tus vecinos??? para eso te sacas unas sillas al fresco y hablais y jugais a las cartas". @windux