Script PHP para extraer la IP pública desde el navegador

Script PHP para extraer la IP pública desde el navegador

Esta mini aplicación es un Script PHP para extraer la IP pública desde el navegador, en adición podrás, extraer la ip local, el país, departamento y ciudad desde donde te estás conectando.

Extraer IP pública

Para extraer la ip pública desde el cliente con el que acceden los usuarios, se utiliza la api de la página web, http://checkip.amazonaws.com/, se accede a la IP con la función PHP file_get_contents para extraer la cadena de texto de la IP, esta IP se guarda en la variable $ip_address

Extraer IP de red LAN

Para extraer la IP local, la IP de red LAN, se utiliza la función getHostByName(php_uname(‘n’)) he inmediatamente se imprime el valor extraído con el comando echo

Saber el navegador desde donde se está accediendo

Este proceso se puede hacer con el comando $_SERVER[‘HTTP_USER_AGENT’] que en mi caso me muestra lo siguiente si lo imprimo desde PHP con un echo:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36

Básicamente lo que se hace es comparar los USER ANGENT, con sus palabras claves, por ejemplo para Chrome, se valida con el siguiente tramo de código:

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false)
        return 'Navegador: Google Chrome';

Script PHP para saber el país, departamento y ciudad del usuario final desde el navegador

Para validar la ubicación del usuario se utiliza una api que puedes verificar en el siguiente enlace:

https://ipinfo.io/

Se puede extraer la ubicación, de ciudad, departamento, país entre otro datos, armando la URL agregando una diagonal y la IP pública desde donde se realiza la conexión, más otra diagonal y la palabra geo, de la siguiente forma por ejemplo:

http://ipinfo.io/191.98.43.21/geo

Lo que se puede hacer es utilizar la función file_get_contents para extraer la información en un json y asignarle variables a cada valor desde PHP con el siguiente tramo de código:

$PublicIP = "191.95.53.31";
//$PublicIP = $ip_address;

$json     = file_get_contents("http://ipinfo.io/$PublicIP/geo");
//Breaks down the JSON object into an array
$json     = json_decode($json, true);
//This variable is the visitor's county
$country  = $json['country'];
//This variable is the visitor's region
$region   = $json['region'];
//This variable is the visitor's city
$city     = $json['city'];


echo '</br> País: ' . $country;
echo '</br> Departamento: ' . $region;
echo '</br> Ciudad: ' . $city;

Puesta a punto del Script PHP para extraer la IP pública desde el navegador en un servidor local

Aplicaciones Previas

Para realizar la instalación de la aplicación en un servidor local, te recomiendo la instalación previa de las siguiente aplicaciones:

XAMPP, Git, Visual Studio Code

XAMPP es la aplicación encargada de implementar un servidor apache para que funcionen los scripts PHP en un ordenador a nivel local.

Git es el gestor de repositorios más usado del mundo, con el que puedes descargar limpiamente, código de GitHub.

Visual Studio Code, es el editor de código más popular del mundo, que recomiendo ampliamente en prácticamente todas las publicaciones de este blog.

Descarga Aplicación de GitHub

El siguiente es el enlace de descarga de repositorio de GitHub de la aplicación que permite comprimir archivos y generar un ZIP en un servidor local:

Configuración de aplicación del script PHP para su funcionamiento en tu ordenador

Debes instalar las aplicaciones mencionadas, con todos los parámetros por defecto, posterior a este procedimiento, desde Visual Studio Code, debes abrir la siguiente ubicación:

C:\xampp\htdocs

Desde esta ubicación en Visual Studio Code, pulsas View, Terminal. Dentro del Terminal eliges la opción de Git Bash y copias el siguiente código:

git clone https://github.com/configuroweb/extraer-ip-publica.git

Se creará la carpeta zip, dentro de la carpeta htdocs

A continuación, abres XAMPP en tu ordenador, activas el servicio de Apache, y ya podrás ver la aplicación en la siguiente URL:

http://localhost/extraer-ip-publica/

Subida del script PHP para extraer la IP pública desde el navegador

Por la sencillez de la aplicación, no abordaré el tema directamente, en el siguiente vídeo relacionado, explico a nivel general el proceso:

Subir pagina con PHP + Base de datos (MYSQL) a un Hosting

Cualquier duda quedo al pendiente, si requieres más aplicaciones PHP, en Python o JavaScript te recomiendo te suscribas a mi contenido en Youtube y estés al pendiente de cualquier cambio, que vaya haciendo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.