Obtener la IP del cliente con PHP
Si queremos crear un IpLogger, una caracteristica para detectar los usuarios que nos visitan a partir de la IP, resulta que con la siguiente funcion podemos obtener la IP del cliente o visitante.
public static function getRealIP() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) // encaso de que la ip sea compartida return $_SERVER['HTTP_CLIENT_IP']; if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) // encaso de provenir de un proxy return $_SERVER['HTTP_X_FORWARDED_FOR']; return $_SERVER['REMOTE_ADDR']; }
La variable especial $_SERVER nos contiene mucha informacion sobre el servidor y el cliente.
Hay 3 casos de IP el caso normal donde obtenemos la ip apartir de REMOTE_ADDR.
En caso de que sea una ip compartida usamos HTTP_CLIENT_IP.
Y en caso de provenir de un servidor proxy la obtenemos con HTTP_X_FORWARED_FOR.