En PHP, normalmente usamos $_SERVER['REMOTE_ADDR'] para obtener la IP del visitante. Pero cuando el visitante utiliza un proxy, sólo puede obtener la IP del proxy. En este momento, puede utilizar la siguiente función para obtener la IP real del visitante:
function getRealIpAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){//comprueba la IP desde Internet compartido
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){//para comprobar que la IP se pasa desde el proxy
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}demás{
$ip=$_SERVER['REMOTE_ADDR'];
}
devolver $ip;
}
De hecho, esta función no es omnipotente. Como todos sabemos, la información del encabezado se puede falsificar. O(∩_∩)O