Foros del Web » Programando para Internet » PHP »

¡¡Conocer IP teniendo PROXY!!

Estas en el tema de ¡¡Conocer IP teniendo PROXY!! en el foro de PHP en Foros del Web. Que tal? Tengo unas páginas en intranet en las que necesito saber la IP del visitante y bueno esto es de lo más sencillo $ip ...
  #1 (permalink)  
Antiguo 03/11/2005, 11:55
 
Fecha de Ingreso: octubre-2005
Mensajes: 9
Antigüedad: 18 años, 6 meses
Puntos: 0
¡¡Conocer IP teniendo PROXY!!

Que tal?

Tengo unas páginas en intranet en las que necesito saber la IP del visitante y bueno esto es de lo más sencillo $ip = $_SERVER["REMOTE_ADDR"]; lo complicado es que ciertas máquinas tienen configurado un PROXY y al ejecutar esta intrucción me da la IP del PROXY no del equipo ...

Alguien sabría como le podría hacer pa' conocer la IP o lo q pueda servir pa' identificar específicamente una pc, teniendo el problema del PROXY???


Gracias Totales..
  #2 (permalink)  
Antiguo 03/11/2005, 12:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes usar:

Código PHP:
function getRemoteInfo () {
   
$proxy="";
   
$IP "";
   if (isSet(
$_SERVER)) {
       if (isSet(
$_SERVER["HTTP_X_FORWARDED_FOR"])) {
           
$IP $_SERVER["HTTP_X_FORWARDED_FOR"];
           
$proxy  $_SERVER["REMOTE_ADDR"];
       } elseif (isSet(
$_SERVER["HTTP_CLIENT_IP"])) {
           
$IP $_SERVER["HTTP_CLIENT_IP"];
       } else {
           
$IP $_SERVER["REMOTE_ADDR"];
       }
   } else {
       if ( 
getenv'HTTP_X_FORWARDED_FOR' ) ) {
           
$IP getenv'HTTP_X_FORWARDED_FOR' );
           
$proxy getenv'REMOTE_ADDR' );
       } elseif ( 
getenv'HTTP_CLIENT_IP' ) ) {
           
$IP getenv'HTTP_CLIENT_IP' );
       } else {
           
$IP getenv'REMOTE_ADDR' );
       }
   }
   if (
strstr($IP',')) {
       
$ips explode(','$IP);
       
$IP $ips[0];
   }
   
$RemoteInfo[0]=$IP;
   
$RemoteInfo[1]=@GetHostByAddr($IP);
   
$RemoteInfo[2]=$proxy;
   return 
$RemoteInfo;
}

// Te devolverá como ves un array con tu IP .. la del Proxy y te resolverá la IP al nombre de la máquina si puede.

// Un ejemplo para que lo veas todo:
print_r(getRemoteInfo ()); 
Extraido de:
http://www.php.net/gethostbyaddr
Autor:
webmaster at 4so9 dot com


Un saludo,
  #3 (permalink)  
Antiguo 03/11/2005, 13:28
 
Fecha de Ingreso: octubre-2005
Mensajes: 9
Antigüedad: 18 años, 6 meses
Puntos: 0
No me funciona (el código)...

corrí el código esto (+ o -) fué lo que me arrojó:

Array ( [0] => 12.123.1.12 [1] => marshal.empresa.com.mx [2] => )

O sea la IP el Proxy y si "dominio"...


¿Qué estaré haciendo mal?

También según deber´´ia funcionar con echo "Tu IP es: ".$_SERVER['HTTP_CLIENT_IP']; pero tampoco
:-p

Me quiero morir!!
  #4 (permalink)  
Antiguo 03/11/2005, 14:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Bueno .. ese dato no es obligatorio que lo entreguen todos los proxys .. Hay proys trasnparentes que si que lo entregaran y otras configuraciones que NO lo entregarán .. sólo te puedo pedir que pruebes ese código en otras condiciones (de conexión/LAN's) y ver como funciona.

Un saludo,
  #5 (permalink)  
Antiguo 03/11/2005, 18:28
 
Fecha de Ingreso: octubre-2005
Mensajes: 9
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo Parece Que Yaaaa

Me funciono la siguiente instrucción

echo getenv('REMOTEHOST')

Aunque se me hace demasiado fácil para ser verda' :S
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 09:44.