[perl] =?iso-8859-1?Q?Re:_=5Bperl=5D_RV:_problema_=BFtiene_solucion=3F?=
Salman PSL
salman@teleline.es
Tue, 4 Jul 2000 19:55:47 +0200
Aqui te puedo ayudar ya que yo he tenido ese mismo problema, si bien acabe
no leyendo la IP por otros problemas.
Terra, teleline y demas utilizan un proxy transparente, de forma que la IP
que te devuelven las variables:
REMOTE_ADDR y REMOTE_HOST van variando constantemente sin cortar la
conexion.
Pero en estos casos terra añade una nueva variable de entorno que creo que
es algo asi como USER_IP.
Ahora mismo no te la puedo confirmar pues he cambiado de proveedor y ya no
tengo la conexion con teleline.
De todas formas es facil de averiguar, ves a
http://salman.org/exe/varento.cgi y si tienes la conexion con terra veras
que tienes esa variable de entorno que te comento.
Lo que deberas hacer en tu script es primero verificar si existe esa
variable, si tiene valor lo tomas como la IP en caso contrario ( el resto de
proveedores ) vas a leer REMOTE_ADDR.
Saludos
Salvador Guzman
Salman PSL
Vigo, Galicia, España
+34 627-505-999
+34 986-21.30.27
correo@salman.net
http://salman.net/
http://salman.tivis.net/
----- Original Message -----
From: "mapelo" <mapelo@writeme.com>
To: <perl@tlali.iztacala.unam.mx>
Sent: Tuesday, July 04, 2000 9:09 AM
Subject: [perl] RV: problema ¿tiene solucion?
Hola:
Tengo un problema. Lo explico y me decís que pensais:
Tengo scritpt en perl funcionando, y basados en algunas de sus funciones en
la dirección IP del que lo ejecuta desde la web. Por desgracia he
descubierto que hay proveedores de servicios internet que o bien no dejan
al
usuario conocer su IP o se la cambian por una falsa. He llegado a la
conclusión de que esto es imposible, y es sólo una ficción que nos hacen
creer estos proveedores, ya que cualquier información (paquete) que viaja
por internet debe ir inexcusablemente acompañado de la IP como
identificativo de quien lo envía, así como la IP como identificativo de a
quién va dirigida dicha información. Pues bien, al grano:
Cuando me conecto con TERRA, un conocido proveedor internacional, aquí en
España (y de muy mala fama, por cierto), ejecuto un pequeñísimo script en
el
servidor donde tengo hospedada mi página web:
#!/usr/bin/perl
$ip=$ENV{REMOTE_ADDR};
print "content-type:text/html\n\n";
print "$ip";
pero, sorpresa, cada vez que lo ejecuto es diferente (varia aleatoriamente
entre 3).
Cuando miro mi ip desde un programa como el TraceRoute, me detecta
perfectamente la que es realmente (lo he comprobado porque he puesto un
servidor de web en mi ordenador al que han accedido perfectamente cuando
les
paso a mis colegas esta IP)
Conclusión que saco, pero que quiero que me comenteis, porque no estoy
seguro del tema: TERRA envía como variable de entorno una IP falsa, pero
utiliza la real para las transacciones de datos.
Ahora la pregunta: ¿Cómo hago para conocer la IP del que ejecuta un script
en perl sin usar la variable de entorno REMOTE_ADDR? El tema es muy
importante, porque, como comenté al principio, yo, y mucha gente, está
utilizando programas que usan la información de esta variable de entorno.
Espero vuestras explicaciones, dudas, sugerencias, soluciones,
comentarios....
Manuel Pérez
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text : unsubscribe perl
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text : unsubscribe perl