1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function gf_obtiene_ip () { // Las variables _SERVER nos lo pueden decir $metodos = array("CLIENT_IP","HTTP_X_FORWARDED_FOR","HTTP_X_FORWARDED","HTTP_FORWARDED_FOR","HTTP_FORWARDED","REMOTE_ADDR"); $i = 0; while ( ($i<count($metodos) ) || (!isset($ip) ) ) { $valor = $metodos[$i]; if (isset($_SERVER[$valor])) $ip =$_SERVER[$valor]; else if (isset($_ENV[$valor])) $ip =$_ENV[$valor]; $i++; } return ( isset($ip) ) ? $ip: false; } |
Con este script intentamos evitar que se detecte como la IP del usuario la de un proxy intermedio recorriendo todas las variables que podemos encontrar en $metodos.
Actualización Nov. 2015: Se añade la foto para hacer el post más atractivo.
Foto: Ryan McGuire (Gratisography)