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)
Pingback: Bitacoras.com /
Muy buena función. ¿Te acuerdas hace unos años los calentamientos de cabeza que teníamos con este tema? jejeje.
Ya te digo… que si la IP era de un proxy, que si las sesiones no se hacían bien… Pero el tema de la geolocalización ya ni te cuento ehh !!