Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: ANTRAX en Enero 19, 2013, 08:12:28 PM

Título: [SOLUCIONADO] Duda con capturar IP con PHP
Publicado por: ANTRAX en Enero 19, 2013, 08:12:28 PM
Hola a todos,

Tengo una duda con respecto a capturar la ip con PHP. En realidad se como se hace, pero tengo un caso particular, en el que no me captura la ip del cliente, sino que siempre captura la ip del servidor. En tonces al guardar, siempre me muestra la ip del servidor en lugar de la del cliente

Código (php) [Seleccionar]
$ip=$_SERVER['REMOTE_ADDR'];

Existe otra forma?

Googleando un poco me tope con esto:

Código (php) [Seleccionar]
<?
if ($_SERVER) {
if ( $_SERVER[HTTP_X_FORWARDED_FOR] ) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif ( $_SERVER["HTTP_CLIENT_IP"] ) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( "HTTP_X_FORWARDED_FOR" ) ) {
$realip = getenv( "HTTP_X_FORWARDED_FOR" );
} elseif ( getenv( "HTTP_CLIENT_IP" ) ) {
$realip = getenv( "HTTP_CLIENT_IP" );
} else {
$realip = getenv( "REMOTE_ADDR" );
}
}
?>


Pero en ambos casos solo me captura la del servidor y no la del cliente que envia el formulario.

A alguien le ha pasado o sabe como solucionarlo?

Saludos!
Título: Re:Duda con capturar IP con PHP
Publicado por: Turka en Enero 19, 2013, 08:19:50 PM
Mmm donde estas ejecutando el script? por ejemplo en el server de undercode y accedes desde tu pc y te sigue mostrando la IP del servidor y no la tuya?

Por otro lado, que haces despues con la variable $ip? la imprimis asi tal como viene?
Título: Re:Duda con capturar IP con PHP
Publicado por: ANTRAX en Enero 19, 2013, 08:22:39 PM
Si y si.. el script esta en el server y me guarda la ip del server y no la mia..
Título: Re:Duda con capturar IP con PHP
Publicado por: Turka en Enero 19, 2013, 08:27:05 PM
Código (php) [Seleccionar]
if( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] )){
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
        echo $ip;
    }else if( isset( $_SERVER ['HTTP_VIA'] )){
        $ip = $_SERVER['HTTP_VIA'];
        echo $ip;
    }else if( isset( $_SERVER ['REMOTE_ADDR'] )){
        $ip = $_SERVER['REMOTE_ADDR'];
        echo $ip;
    }else{
        $ip = null;
       echo "No se pudo obtener IP";
}


Proba eso, lo edite asi rapido si tira error decime en que linea y sino que resultado devuelve..
Título: Re:Duda con capturar IP con PHP
Publicado por: ANTRAX en Enero 19, 2013, 08:31:08 PM
Lo mismo! sigue dando la ip del server...
Título: Re:Duda con capturar IP con PHP
Publicado por: F0M3T en Enero 20, 2013, 06:30:25 PM
   
<?
function getRealIP() {
        if (!empty($_SERVER['HTTP_CLIENT_IP']))
            return $_SERVER['HTTP_CLIENT_IP'];
           
        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
            return $_SERVER['HTTP_X_FORWARDED_FOR'];
       
        return $_SERVER['REMOTE_ADDR'];
    }
?>


Saludos.
Título: Re:Duda con capturar IP con PHP
Publicado por: ANTRAX en Enero 20, 2013, 06:47:56 PM
Muchas gracias bro!
Sirve! :D
Título: Re:Duda con capturar IP con PHP
Publicado por: F0M3T en Enero 20, 2013, 06:50:21 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Muchas gracias bro!
Sirve! :D
De nada... :)