IP otra vez

30/11/2003 - 18:44 por ad | Informe spam
Hola de nuevo a todos,
sigo con mi problema del otro día de la IP.A ver si me
podeis ayudar , os estaré muy agradecida:
He publicado en internet unas páginas ASP a las que solo
pueden acceder determinados usuarios mediante nombre y
contraseña asignados. Hasta ahí todo va bien.
De todos esos usuarios autorizados a visualizar mis
páginas, un grupo ven las páginas desde su intranet, otro
grupo desde su otra intranet, etc.
Necesito recoger la IP de cada máquina de cada usuario
conectado, y ello lo hago usando:
Request.ServerVariables("remote_addr").
Mientras los usuarios conectados pertenezcan a distinta
intranet, no hay problema, pero cuando se conectan 3
usuarios por ejemplo de una misma intranet, a mí me
aparece una única IP, es decir, la misma, como si hubiera
un único usuario conectado en vez de 3usuarios.¿Cómo
puedo obtener la IP de cada ordenador de una misma
intranet sin que detecte una misma para todos?

gracias de antemano a todos.

Preguntas similare

Leer las respuestas

#1 danicastillo
30/11/2003 - 19:15 | Informe spam
Bueno que yo sepa no se puede ... mas que nada pq todos esos equipos tienen
realmente la misma ip (publica) , dado que comparten conexion

la "otra" ip, la interna de la empresa, asignada a un ordenador, no es
"valida" fuera de la misma intranet (no es valida en el sentido de q no es
unica, en cualquier otra empresa te encontraras con ip's iguales a esas, esa
ip es "unica" dentro de la lan, pero en el rango de direcciones lan, q es
"compartido" en otras empresas, ejemplo , 192.168.0.* o 10.0.0.* ,
cambiando el * por un numero, todas las ip's de lan -de nivel bajo- son como
esas, y por tanto para una ip de lan determinada, ejemplo 192.168.0.5 ,
habra unos cuantos miles de ordenadores con la misma ;) por lo tanto no
vale para nada como identificacion, aparte de poder ser *mas* variable q la
ip de internet -depende de la politica de red de la empresa- puede variar al
dia, o incluso en periodos mas pequeños, o ser fija, pero depende
exclusivamente del administrador de esa lan

en cualquier caso , ip, lo q se dice ip en internet, todos los ordenadores
de una lan comparten ip (lo que tienen diferente es la mac-address pero que
yo sepa desde asp, y sin instalar controles en el cliente, no vas a poder
sacarla)

-o|o|--
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--
"ad" escribió en el mensaje
news:046001c3b769$aad63540$
Hola de nuevo a todos,
sigo con mi problema del otro día de la IP.A ver si me
podeis ayudar , os estaré muy agradecida:
He publicado en internet unas páginas ASP a las que solo
pueden acceder determinados usuarios mediante nombre y
contraseña asignados. Hasta ahí todo va bien.
De todos esos usuarios autorizados a visualizar mis
páginas, un grupo ven las páginas desde su intranet, otro
grupo desde su otra intranet, etc.
Necesito recoger la IP de cada máquina de cada usuario
conectado, y ello lo hago usando:
Request.ServerVariables("remote_addr").
Mientras los usuarios conectados pertenezcan a distinta
intranet, no hay problema, pero cuando se conectan 3
usuarios por ejemplo de una misma intranet, a mí me
aparece una única IP, es decir, la misma, como si hubiera
un único usuario conectado en vez de 3usuarios.¿Cómo
puedo obtener la IP de cada ordenador de una misma
intranet sin que detecte una misma para todos?

gracias de antemano a todos.
Respuesta Responder a este mensaje
#2 ad
30/11/2003 - 19:38 | Informe spam
Esas páginas ASP contienen una conexión a una base de
datos y sirven para que el cliente realice consultas.
Entonces, no hay algún modo de poder identificar cada
ordenador de la misma intranet en el sentido de que si
cada uno de ellos realiza consultas el programa entienda
que uno de la intranet está buscando tal cosa, y otro
está buscando tal otra, para que no se les mezclen los
resultados al creer el ordenador que las peticiones de
búsquedas proceden del mismo ordenador?
Respuesta Responder a este mensaje
#3 ad
01/12/2003 - 08:16 | Informe spam
Hola, ayer ya estuve planteando mi problema, y ya me
informaron que no se podía hacer sin establecer controles
al cliente, cosa que prefiero evitar.Gracias Dani Castillo
por tu ayuda ayer, además no sé si lo recordarás pero ya
nos habías ayudado en otra ocasión y te estamos
agradecidas, somos de Zaragoza. Os pongo mi mens de ayer a
todos por si me podeis ayudar:

"He publicado en internet unas páginas ASP a las que solo
pueden acceder determinados usuarios mediante nombre y
contraseña asignados. Hasta ahí todo va bien.
De todos esos usuarios autorizados a visualizar mis
páginas, un grupo ven las páginas desde su intranet, otro
grupo desde su otra intranet, etc.
Necesito recoger la IP de cada máquina de cada usuario
conectado, y ello lo hago usando:
Request.ServerVariables("remote_addr").
Mientras los usuarios conectados pertenezcan a distinta
intranet, no hay problema, pero cuando se conectan 3
usuarios por ejemplo de una misma intranet, a mí me
aparece una única IP, es decir, la misma, como si hubiera
un único usuario conectado en vez de 3usuarios.¿Cómo
puedo obtener la IP de cada ordenador de una misma
intranet sin que detecte una misma para todos?
gracias de antemano a todos."

Entonces, si no puedo controlar la IP, podría controlar el
número de tarjeta de red o alguna cosa que caracterice a
cada ordenador de una misma intranet? es que si no, los
usuarios de misma IP tendrán conflictos al visualizar las
páginas ASP, realizarán consultas y a uno le pueden salir
los resultados del otro.
Respuesta Responder a este mensaje
#4 Dani Castillo
01/12/2003 - 08:28 | Informe spam
Uhm, no hay peligro de eso =)
veamos, si estas dentro de tu propia intranet, cada ordenador te presentara
su ip de lan (la interna) al menos si accedes desde iplan del servidor

en cualquier caso si accedes desde fuera de tu lan:

pongamos por caso, q desde mi empresa accedemos con dos ordenadores a tu
empresa (A y B)

ambos ordenadores salen por el mismo router, lo que a ti te presenta la
misma ip-publica (la ip de mi conexion a internet)

tu servidor esta a la espera de conexiones en el puerto 80, cuando llega una
peticion a ese puerto (del A por ejemplo) el servidor hace un bind del
puerto de escucha,digamos q lo "duplica", lo q hace es asignar al A una
conexion de escucha, creada en uno de sus puertos libres, por ejemplo asigna
a mi ordenador A el puerto 3293 para comunicacion, y empieza a enviarme
la(s) web que le pida , cuando mi ordenador B hace una peticion, le asigna
de nuevo otro puerto de comunicacion, ejemplo el 4398 , para enviarme las
webs

en mi empresa, el router sabe "de donde" estaban llegando las peticiones,
sabe que al ordenador A debe enviarle las peticiones de tu maquina entrantes
por el puerto 3293, y al B las del 4398

si uno de mis ordenadores cierra la web, el puerto remoto (en tu servidor)
queda libre para otro que pida webs

todo el proceso es transparente para ti como programador, se realiza todo a
nivel de protocolo de red, cuando en servidor tienes un fichero asp, ese
fichero es llamado y ejecutado por el IIS cuando un cliente cualquiera (de
tu lan o de otra lan) se lo pide, y se lo envia al que lo pidio, sin
confusion posible =)

es decir, pongamos que tu tienes un fichero "prueba.asp" que genera un
numero autoincrementado, cada vez q lo llamas genera un numero distinto

lo llamas desde 3 ordenadores distintos, cada ordenador recibira su numero
propio, nunca "cruzados"

vale todo eso en teoria, ahora la practica:
los unicos "problemas" q puedes tener son por niveles de cache intermedias
(en el isp por ejemplo) aunq ya se dan menos hubo una mala epoca xD, o en
sistemas en los q requieras mucha proteccion de datos, pq lo enviado si es
en abierto como asp, puede "capturarlo" un dispositivo intermedio entre el
cliente y el servidor, pero en una web normal no te debe preocuparte (y
tampoco puedes hacer nada desde asp)

si lo q quieres es distinguir a los usuarios desde asp para que tengan
"cosas" distintas (no consultas q esas las generas al vuelo y cada uno
recibe la suya, sino otras cosas como variables etc) usa el objeto session,
es distinto para cada usuario, y esta implementado de nuevo de forma
transparente

si tu tienes tres asp's de esta forma:
a.asp = un formulario q pide el nombre y envia al b.asp
b.asp
session("nombre")=request.form("nombre")
c.asp= va generando varias cosas, y de vez en cuando dice algo como
"consultas de " & session("nombre")

el a y b se llaman una vez, el c es donde el cliente se queda consultando
cosas

aunq llames desde 100 ordenadores distintos, cada uno vera en c.asp su
propio nombre almacenado en session, son espacios de trabajo distintos para
cada cliente, acceda desde lan, o desde internet, o compartan ip

espero haberte orientado =)
dani


"ad" escribió en el mensaje
news:04a801c3b771$306ec8a0$

Esas páginas ASP contienen una conexión a una base de
datos y sirven para que el cliente realice consultas.
Entonces, no hay algún modo de poder identificar cada
ordenador de la misma intranet en el sentido de que si
cada uno de ellos realiza consultas el programa entienda
que uno de la intranet está buscando tal cosa, y otro
está buscando tal otra, para que no se les mezclen los
resultados al creer el ordenador que las peticiones de
búsquedas proceden del mismo ordenador?
Respuesta Responder a este mensaje
#5 Dani Castillo
01/12/2003 - 11:21 | Informe spam
Enas, lee mi mensaje anterior contestacion (extensa) al tuyo, no hay
conflictos dentro de una intranet , ni con otras intranets de fuera (bueno,
no "intranets" el termino seria lans)


"ad" escribió en el mensaje
news:04db01c3b7db$1b621740$

Hola, ayer ya estuve planteando mi problema, y ya me
informaron que no se podía hacer sin establecer controles
al cliente, cosa que prefiero evitar.Gracias Dani Castillo
por tu ayuda ayer, además no sé si lo recordarás pero ya
nos habías ayudado en otra ocasión y te estamos
agradecidas, somos de Zaragoza. Os pongo mi mens de ayer a
todos por si me podeis ayudar:

"He publicado en internet unas páginas ASP a las que solo
pueden acceder determinados usuarios mediante nombre y
contraseña asignados. Hasta ahí todo va bien.
De todos esos usuarios autorizados a visualizar mis
páginas, un grupo ven las páginas desde su intranet, otro
grupo desde su otra intranet, etc.
Necesito recoger la IP de cada máquina de cada usuario
conectado, y ello lo hago usando:
Request.ServerVariables("remote_addr").
Mientras los usuarios conectados pertenezcan a distinta
intranet, no hay problema, pero cuando se conectan 3
usuarios por ejemplo de una misma intranet, a mí me
aparece una única IP, es decir, la misma, como si hubiera
un único usuario conectado en vez de 3usuarios.¿Cómo
puedo obtener la IP de cada ordenador de una misma
intranet sin que detecte una misma para todos?
gracias de antemano a todos."

Entonces, si no puedo controlar la IP, podría controlar el
número de tarjeta de red o alguna cosa que caracterice a
cada ordenador de una misma intranet? es que si no, los
usuarios de misma IP tendrán conflictos al visualizar las
páginas ASP, realizarán consultas y a uno le pueden salir
los resultados del otro.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida