Foros del Web » Programando para Internet » PHP »

ip del usuario y no la del proxy

Estas en el tema de ip del usuario y no la del proxy en el foro de PHP en Foros del Web. hola. como puedo sacar la ip del usuario y no la del proxy como pasa con algunas conexiones?? saludotes...
  #1 (permalink)  
Antiguo 10/03/2003, 15:50
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
ip del usuario y no la del proxy

hola.
como puedo sacar la ip del usuario y no la del proxy como pasa con algunas conexiones??


saludotes
__________________
Zepsilon.com
Diseño e imaginacion
  #2 (permalink)  
Antiguo 10/03/2003, 15:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En teoría con:

$_SERVER["HTTP_X_FORWARDED_FOR"]

Un saludo,
  #3 (permalink)  
Antiguo 10/03/2003, 15:56
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
me pone que el index HTTP_X_FORWARDED_FOR no existe
__________________
Zepsilon.com
Diseño e imaginacion
  #4 (permalink)  
Antiguo 10/03/2003, 16:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Esa directiva es una variable de servidor .. que puede o no entregarla el servidor HTTP q uses .. (en eso influye por ejemplo si tienes instalado PHP como módulo de Apache o como CGI) ..

Que servidor HTTP usas y versión de PHP e instalación?

Es mas .. te dejo un URL con un ejemplo práctico:
http://boj.cnice.mecd.es/~amart124/ip.php

Un saludo,
  #5 (permalink)  
Antiguo 10/03/2003, 16:08
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
uso apache y la version del php es 4.3.0
__________________
Zepsilon.com
Diseño e imaginacion
  #6 (permalink)  
Antiguo 10/03/2003, 16:15
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
con ese ejemplo ya se hacer lo que necesitaba :D
__________________
Zepsilon.com
Diseño e imaginacion
  #7 (permalink)  
Antiguo 10/03/2003, 16:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y como tienes instalado PHP .. CGI o módulo?

Revisa los comentarios de los usuarios de:

Predefined Variables
http://www.php.net/manual/en/reserved.variables.php

Y tambien revisa getenv("variable_servidor") por si usas PHP como CGI ..

Veras ejemplos para obtener la IP real y comentarios acerca de proxy's "anonimos" que no entregan ese dato ..

Un saludo,
  #8 (permalink)  
Antiguo 10/03/2003, 16:24
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
a partir del script ese consegui sacar la ip real, uso php como CGI.

gracias
__________________
Zepsilon.com
Diseño e imaginacion
  #9 (permalink)  
Antiguo 10/03/2003, 16:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
$MIA = $HTTP_SERVER_VARS["REMOTE_ADDR"];

Esa (caso del "else" de ese script) no es tu IP "real" si pasas por un proxy ..

Fijate que tiene en cuenta si está definida $_SERVER y que usa ademas una variable de servidor "HTTP_CLIENT_IP" ademas de las mencionadas ...

Prueba esto:

Código PHP:
<?
function getip() {
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' );
}
}
return 
$realip
}

// ejemplo
echo getip();

?>
Un saludo,

pd: código extraido de los comentarios de los usuarios del tema "Predefinided variables" ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:10.