Hoy vamos a comentar una función con la que me topé por internet para obtener una ip
Es una función muy simple, primero comprueba si existe el array global $_SERVER en caso de que no exista intenta hacerlo lo mismo pero mediante el array $GLOBALS.
Algunos proxyes dejan la ip del usuario en HTTP_X_FORWARDED_FOR, por esta razón primero comprobamos si exsite, en caso de que exista esa es la IP real.
Sino tomamos el valor REMOTE_ADDR.
Este script, como todos los de GETIP, no garantiza que la ip tomada sea la verdadera pero tienes mas probabilidades que con otros que he visto en la red
<?php
function getIP() {
if (isset($_SERVER)) {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
return $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
return $_SERVER['REMOTE_ADDR'];
}
} else {
if (isset($GLOBALS['HTTP_SERVER_VARS']['HTTP_X_FORWARDER_FOR'])) {
return $GLOBALS['HTTP_SERVER_VARS']['HTTP_X_FORWARDED_FOR'];
} else {
return $GLOBALS['HTTP_SERVER_VARS']['REMOTE_ADDR'];
}
}
}
$ip = getIP();
?>
Es una función muy simple, primero comprueba si existe el array global $_SERVER en caso de que no exista intenta hacerlo lo mismo pero mediante el array $GLOBALS.
Algunos proxyes dejan la ip del usuario en HTTP_X_FORWARDED_FOR, por esta razón primero comprobamos si exsite, en caso de que exista esa es la IP real.
Sino tomamos el valor REMOTE_ADDR.
Este script, como todos los de GETIP, no garantiza que la ip tomada sea la verdadera pero tienes mas probabilidades que con otros que he visto en la red
Publicar un comentario