Obtener Ip
Publicado por Babel (4 intervenciones) el 07/11/2007 12:43:19
Hola a todos.
Busco un sistema de impedir un ataque por fuerza bruta a mi pagina para conseguir descifrar usuarios y contraseña correctos. Lo que hay pensado es obtener la dirección ip del usuario y así poder controlar quien intenta el login pero esto tiene un problema añadido, y eso que si este usuario esta a través de un proxy, la dirección que recojo es la del proxy, entonces es donde comienza mi problema. e visto las variables de servidor siguientes:
REMOTE_ADDR
HTTP_CLIENT-IP
HTTP_X-Forwarded-For
pero haga lo que haga la única que me devuelve datos es Remote_Addr y por supuesto me da la ip de un proxy intermedio.
Entonces ahora mismo no se si estoy yendo por el camino correcto, y el problema esta en mi código, o si hay sistemas mejores que este. Os adjunto una función que anda por Internet que se supone funciona, y consigue la ip de la primera maquina que lanza la petición:
IP que hace la petición: <%= Request.ServerVariables("REMOTE_ADDR") %>
<br>
<%
Dim ClientIP, Forwaded, RealIP
RealIP = ""
ClientIP = Request.ServerVariables("HTTP_CLIENT-IP")
If ClientIP <> "" Then
RealIP = ClientIP
Else
Forwaded = Request.ServerVariables("HTTP_X-Forwarded-For")
If Forwaded <> "" Then RealIP = Forwaded
End If
If RealIP <> "" Then
Response.Write("El usuario está accediendo a través de un Proxy. Su verdadera dirección IP es: " + RealIP)
End If
%>
De todas formas si existe un sistema mejor os pido que me deis alguna indicacion.
Busco un sistema de impedir un ataque por fuerza bruta a mi pagina para conseguir descifrar usuarios y contraseña correctos. Lo que hay pensado es obtener la dirección ip del usuario y así poder controlar quien intenta el login pero esto tiene un problema añadido, y eso que si este usuario esta a través de un proxy, la dirección que recojo es la del proxy, entonces es donde comienza mi problema. e visto las variables de servidor siguientes:
REMOTE_ADDR
HTTP_CLIENT-IP
HTTP_X-Forwarded-For
pero haga lo que haga la única que me devuelve datos es Remote_Addr y por supuesto me da la ip de un proxy intermedio.
Entonces ahora mismo no se si estoy yendo por el camino correcto, y el problema esta en mi código, o si hay sistemas mejores que este. Os adjunto una función que anda por Internet que se supone funciona, y consigue la ip de la primera maquina que lanza la petición:
IP que hace la petición: <%= Request.ServerVariables("REMOTE_ADDR") %>
<br>
<%
Dim ClientIP, Forwaded, RealIP
RealIP = ""
ClientIP = Request.ServerVariables("HTTP_CLIENT-IP")
If ClientIP <> "" Then
RealIP = ClientIP
Else
Forwaded = Request.ServerVariables("HTTP_X-Forwarded-For")
If Forwaded <> "" Then RealIP = Forwaded
End If
If RealIP <> "" Then
Response.Write("El usuario está accediendo a través de un Proxy. Su verdadera dirección IP es: " + RealIP)
End If
%>
De todas formas si existe un sistema mejor os pido que me deis alguna indicacion.
Valora esta pregunta


0