Hay diferentes tipos de usuarios detrás de Internet, por lo que queremos capturar la dirección IP de diferentes pociones. Que son,
1. $_SERVER['REMOTE_ADDR']
: contiene la dirección IP real del cliente. Ese es el valor más confiable que puede encontrar del usuario.
2. $_SERVER['REMOTE_HOST']
– Esto buscará el nombre del Host desde el cual el usuario está viendo la página actual. Pero para que este script funcione, se deben configurar las búsquedas de nombre de host activadas dentro de httpd.conf
- Cómo convertirse en administrador de red
- ¿Cuál es la importancia de las capas en la arquitectura TCP / IP en la comunicación por internet?
- ¿Cuáles son los mejores servicios de VPN para 2015?
- ¿Existe algún tipo de amenaza para los enlaces que utilizan el protocolo HTTPS (después del ciberataque WannaCry)?
- ¿Me puede sugerir un proyecto de C ++ relacionado con redes informáticas en Linux? (algo divertido de hacer después del trabajo ..)
3. $_SERVER['HTTP_CLIENT_IP']
: esto buscará la dirección IP cuando el usuario $_SERVER['HTTP_CLIENT_IP']
servicios de Internet compartido.
4. $_SERVER['HTTP_X_FORWARDED_FOR']
: esto obtendrá la dirección IP del usuario cuando esté detrás del proxy
Puede combinar todo lo anterior para obtener los resultados más apropiados, como el ejemplo que se muestra a continuación.
función get_client_ip ()
{
$ ipaddress = ”;
if (getenv (‘HTTP_CLIENT_IP’))
$ ipaddress = getenv (‘HTTP_CLIENT_IP’);
sino if (getenv (‘HTTP_X_FORWARDED_FOR’))
$ ipaddress = getenv (‘HTTP_X_FORWARDED_FOR’);
más if (getenv (‘HTTP_X_FORWARDED’))
$ ipaddress = getenv (‘HTTP_X_FORWARDED’);
más if (getenv (‘HTTP_FORWARDED_FOR’))
$ ipaddress = getenv (‘HTTP_FORWARDED_FOR’);
si no (getenv (‘HTTP_FORWARDED’))
$ ipaddress = getenv (‘HTTP_FORWARDED’);
si no (getenv (‘REMOTE_ADDR’))
$ ipaddress = getenv (‘REMOTE_ADDR’);
más
$ ipaddress = ‘DESCONOCIDO’;
return $ ipaddress;
}