Cómo Averiguar La IP De Un Visitante Del Sitio

Tabla de contenido:

Cómo Averiguar La IP De Un Visitante Del Sitio
Cómo Averiguar La IP De Un Visitante Del Sitio

Video: Cómo Averiguar La IP De Un Visitante Del Sitio

Video: Cómo Averiguar La IP De Un Visitante Del Sitio
Video: Cómo saber la IP de los Visitantes a mi Web 2024, Noviembre
Anonim

La mayoría de las veces, la dirección IP de un visitante del sitio se utiliza para identificarlo. Pero además de esto, al usar IP, puede obtener mucha información adicional sobre el visitante, por ejemplo, averiguar su proveedor de Internet y su ubicación geográfica. En la práctica, los scripts PHP del lado del servidor se utilizan con mayor frecuencia para extraer direcciones IP de los encabezados de solicitud enviados por el navegador.

Cómo averiguar la IP de un visitante del sitio
Cómo averiguar la IP de un visitante del sitio

Es necesario

Conocimientos básicos de PHP

Instrucciones

Paso 1

Utilice la función getenv incorporada de PHP para leer direcciones IP de la matriz de variables de entorno superglobal. En el caso más simple, bastará con leer la variable denominada REMOTE_ADDR. El fragmento correspondiente de código PHP podría verse así: $ userIP = getenv ('REMOTE_ADDR');

Paso 2

Además de la variable REMOTE_ADDR enviada en la solicitud, verifique las variables HTTP_VIA y HTTP_X_FORWARDED_FOR. Si el visitante utiliza un servidor proxy, la dirección intermedia debe registrarse en ambas variables, tanto en HTTP_VIA como en REMOTE_ADDR. En este caso, puede intentar averiguar la IP real del visitante a través de HTTP_X_FORWARDED_FOR; el servidor proxy debe ingresar la dirección original. Sin embargo, esto no siempre se hace y el usuario tiene la oportunidad de seleccionar un servidor proxy "opaco" que no transmite la IP original del visitante que envió la solicitud. En cualquier caso, debe usar tantas formas como sea posible para obtener la dirección IP original en su código agregando una marca de verificación para la variable

Paso 3

Concatenar en una línea de código PHP una verificación secuencial de tres variables de entorno, que pueden contener la dirección IP original del visitante. Esto se puede hacer, por ejemplo, así: $ userIP = getenv ('HTTP_CLIENT_IP') O $ userIP = getenv ('HTTP_X_FORWARDED_FOR') O $ userIP = getenv ('REMOTE_ADDR');

Paso 4

Elimine caracteres adicionales y otra "basura" del valor de IP resultante que pueda entrar en las variables de entorno. Esto se puede hacer, por ejemplo, usando las funciones PHP integradas TRIM y preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

Paso 5

Combine todo el código en una función personalizada para que pueda consultarlo en lugar de repetir las líneas de verificación y limpieza una y otra vez en diferentes partes de sus scripts PHP. Por ejemplo, así: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') O $ userIP = getenv ('HTTP_X_FORWARDED_FOR') O $ userIP = getenv ('REMOTE_ADDR');

RETURN TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

}

Recomendado: