Te paso un pedazo de una script que en su día encontré en internet, para comprobar la ip real del visitante a una página, ya que la ip que devuelve "
REMOTE_ADDR" puede estar enmascarada por un proxy, router, etc. A lo mejor te sirve de algo
Código PHP:
/*
+---------------------------------------------------------------------------
| Calcular los datos de la IP entrante
| - IP del usuario
| - IP del HOST de donde viene
| - NOMBRE del HOST de donde viene
+---------------------------------------------------------------------------
*/
if( isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) ) {
$ip_user = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
$ip_host = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$array = split( ", ", $ip_user );
$url_host = @gethostbyaddr( $array[0] );
} else {
$ip_user = $_SERVER["REMOTE_ADDR"];
$ip_host = $_SERVER["REMOTE_ADDR"];
$url_host = @gethostbyaddr($ip_host);
}
$port_host = $_SERVER["REMOTE_PORT"];
$navegador = $_SERVER["HTTP_USER_AGENT"];
if( isset($_SERVER["HTTP_REFERER"]) ) {
$vieneDe = $_SERVER["HTTP_REFERER"];
$pos = strpos( $vieneDe, "?" );
if( $pos===false ) { // nota: tres signos igual
// no encontrado, el script se ejecuta en local ...
} else {
$vieneDe= substr( $vieneDe, 0, $pos );
}
} else {
$vieneDe = $url_host;
}
Luego puedes utilizar la ip del usuario o la del host, indistintamente.
Saludos
salvica