¿Cómo obtener la dirección IP de la máquina de los clientes en PHP?

Una dirección IP se utiliza para proporcionar una identidad a un dispositivo conectado a una red. Dirección IP significa dirección de Protocolo de Internet. Una dirección IP permite rastrear las actividades de un usuario en un sitio web y también permite identificar y diferenciar la ubicación de los diferentes dispositivos que están conectados a la red de otros dispositivos. 

Hay dos formas de obtener la dirección IP de la máquina del cliente en PHP. Una forma es usar la variable $_SERVER y otra forma es usar la función getenv() .

Variable $_SERVER: Obtiene la dirección IP de la máquina desde la cual se envió la solicitud al servidor web. Es una array creada por el servidor web Apache . Omitir REMOTE_ADDR en la variable $_SERVER proporciona la dirección IP del cliente. A veces no obtenemos una dirección IP usando REMOTE_ADDR porque cuando el usuario es de la red proxy, no se puede obtener REMOTE_ADDR.

En este caso, PHP proporciona otras dos variables HTTP_CLIENT_IP y HTTP_X_FORWARDED_FOR que se pasan en $_SERVER para obtener una dirección IP.

Función getenv(): La otra forma de obtener la dirección IP del cliente es usando la función getenv() . Se utiliza para recuperar el valor de una variable de entorno en PHP. Para obtener la dirección IP del usuario, debemos pasar la variable REMOTE_ADDR a la función getenv() .

Sintaxis: el 

getenv("REMOTE_ADDR");

Ejemplo 1: Veamos un programa de muestra para obtener la dirección IP del cliente.

PHP

<?php  
    // if user from the share internet  
    if(!empty($_SERVER['HTTP_CLIENT_IP'])) {  
        echo 'IP address = '.$_SERVER['HTTP_CLIENT_IP'];  
    }  
    //if user is from the proxy  
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
        echo 'IP address = '.$_SERVER['HTTP_X_FORWARDED_FOR'];  
    }  
    //if user is from the remote address  
    else{  
        echo 'IP address = '.$_SERVER['REMOTE_ADDR'];  
    }    
?>

Producción:

Your IP Address is ::1

Ejemplo 2: El siguiente código dará la dirección IP de la máquina del cliente:

PHP

<?php
    echo "IP Address of client " . getenv("REMOTE_ADDR");
?>

Producción:

IP Address of client ::1

Publicación traducida automáticamente

Artículo escrito por akhilvasabhaktula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *