• Publicidad

Identificar IP

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Identificar IP

Notapor soporteigwifi » 2012-03-22 20:08 @880

Hola. Tengo un servidor corriendo con dansguardian + squid. Desde el squid redirijo a un script en Perl donde quisiera identificar la IP de la navegación. En PHP lo puedo hacer y me tira las dos IP, la del dansguardian + squid y la de la PC, pero en Perl solo me tira una IP. Agradecería alguna ayuda.

Saludos
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878

Publicidad

Re: Identificar IP

Notapor explorer » 2012-03-22 21:19 @930

Bienvenido a los foros de Perl en Español, soporteigwifi.

Sería interesante ver algo del código hecho, al menos la parte de PHP que usas para sacar la IP.

A lo mejor podemos convertir ese código a Perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Identificar IP

Notapor soporteigwifi » 2012-03-23 09:05 @420

Sí, mira el código de PHP es el siguiente
Sintáxis: [ Descargar ] [ Ocultar ]
Using php Syntax Highlighting
  1. <?
  2. $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  3. $ip = explode(",", $ip);
  4. echo $ip;
  5. ?>
Coloreado en 0.021 segundos, usando GeSHi 1.0.8.4


La primera línea me tira la IP que pasan por el proxy, es decir me tira lo siguiente: 192.168.0.2, 172.10.2.2, siendo la primera IP la de la PC y la segunda la del proxy.

La segunda línea lo único que hace es dejarme solamente la IP de la PC.

Lo que quisiera lograr es que con un script en Perl me detecte la IP de la PC ya que hice un par de pruebas y solo me detecta la 172.10.2.2 (server).

Muchas gracias.
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878

Re: Identificar IP

Notapor irving » 2012-03-23 09:25 @434

Con el ejemplo básico para cgi en Perl puedes ver en qué variable se almacena el IP. Lo normal es $ENV{REMOTE_ADDR}, claro que no he probado usando algún proxy.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -w
  2.  
  3. print "Content-type:text/html\n\n";
  4. print <<EndOfHTML;
  5. <html><head><title>Print Environment</title></head>
  6. <body>
  7. EndOfHTML
  8.  
  9. foreach $key (sort(keys %ENV)) {
  10.     print "$key = $ENV{$key}<br>\n";
  11. }
  12.  
  13. print "</body></html>";
  14.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Búscame en twitter
Avatar de Usuario
irving
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2012-02-23 16:01 @709
Ubicación: Chiclayo, Lambayeque, Perú

Re: Identificar IP

Notapor soporteigwifi » 2012-03-23 09:31 @438

Mira, también probé con este código pero me sigue largando la IP del proxy, solamente.

$ip = $req->header('Client-IP') || $req->header('Remote-Addr');
if ($req->header('X-Forwarded-For')) {
$proxy = $ip;
$ip = $req->header('X-Forwarded-For');
}
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878

Re: Identificar IP

Notapor explorer » 2012-03-23 10:42 @488

El valor X-Forwarded-For está en la cabecera HTTP que los sucesivos proxy van agregando a medida de que la respuesta fluye entre cliente y servidor.

En un cgi Perl, podemos acceder a ese valor por medio de $ENV{HTTP_X_FORWARDED_FOR}, o usando los métodos del módulo CGI:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. print $q->http('X-Forwarded-For');
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


(ver sección FETCHING ENVIRONMENT VARIABLES en la página de manual de CGI).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Identificar IP

Notapor soporteigwifi » 2012-03-23 13:06 @588

Gracias a todos. Voy a investigar las opciones que me dieron.

Saludos
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 31 invitados