Foros del Web » Programando para Internet » ASP Clásico »

Acceso sólo a una IP.

Estas en el tema de Acceso sólo a una IP. en el foro de ASP Clásico en Foros del Web. Quiero acceder a un archivo ASP, pero quiero que solo lo pueda hacer yo cuando accedo con mi IP, y el que no la tenga ...
  #1 (permalink)  
Antiguo 14/11/2003, 16:58
wpp
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años, 5 meses
Puntos: 0
Acceso sólo a una IP.

Quiero acceder a un archivo ASP, pero quiero que solo lo pueda hacer yo cuando accedo con mi IP, y el que no la tenga no pueda acceder y le conteste, IP no válida.
El problema es que en principio sé hacerlo pero mi IP es dinámica.
Como se podrían añadir un rango de iP, del tipo 192.23.45.*, espero haberme explicado.

'IP a permitir
Ip_array(0) = "80.28.123.*"
Ip_array(1) = "80.28.*.*"

Es que si lo pongo así no me lo permite.
Ayuda.
  #2 (permalink)  
Antiguo 14/11/2003, 17:08
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Qué tal algo así:

ip = "80.28.123.255"

If left(ip, len(ip) - 4) = "80.28.123" Then
'Esta permitido el acceso
Else
'ADIOS
End If

lo único es sacarle los 3 últimos números mas el "." y validar el resto..


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 14/11/2003, 17:36
wpp
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años, 5 meses
Puntos: 0
Te importaría mandarme todo el código ASP entero, es que no me funciona agregando lo que me has pasado.
Gracias.
  #4 (permalink)  
Antiguo 14/11/2003, 17:51
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
je je, pues si me importaría porque no tengo ningún código... es solo una idea, trata de adaptarla a tus necesidades, que error te manda?

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 14/11/2003, 17:59
wpp
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años, 5 meses
Puntos: 0
Mira te paso lo que tengo.

<%
Dim IP
Dim fuera
Dim A
'Creamos una array con el numero de ips que queremos bloquear en esto caso definimos tres ips( 0 = uno, 1 = dos)
Dim Ip_array(3)

'Localizamos las variables a traves de la variable request.servervariables("REMOTE_ADDR")
IP = request.servervariables("REMOTE_ADDR")

'Definimos el numero de ips que queremos bloquear en este caso 3
A = 3

'IP a bloquear
Ip_array(0) = ""
Ip_array(1) = ""
Ip_array(2) = ""


'revisamos las ips a traves del array, si encontramos una ip bloqueda el usuario no podra visualizar la pagina
For I = 0 to A
If Ip_array(I) = IP then

'redireccionamos la ip bloqueada a la siguiente url
Response.Redirect "http://www.jmcweb.org/ryryryr.htm"

End If
next
%>
  #6 (permalink)  
Antiguo 14/11/2003, 18:00
wpp
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años, 5 meses
Puntos: 0
Pero recuerda, lo que yo quiero no es bloquear una ip, sino todo lo contrario, que la que yo quiera, valide.
  #7 (permalink)  
Antiguo 14/11/2003, 20:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
A ver, hice este script, no está super probado, pero fíjate si te sirve

<%
'Valida rango de ip xxx.xxx.x.*
Function valida_ipDeArreglo(ip)
'obtenemos una variable para sacar la cantidad de
'caracteres después del último punto
cuenta = len(ip) - (len(ip) - (instrRev(ip, ".") - 1))
'cortamos la cadena para devolver el rango xxx.xxx.x*
valida_ipDeArreglo = left(ip, cuenta)
End Function

Function entra_ip(que_ips)
'Está en false para descartar desde el inicio
permitido = false
'Obtenemos el arreglo en base al argumento que_ips separado por ","
arrIPSPermitidas = split(que_ips, ",")
'Obtenemos la IP del visitante
ip = request.servervariables("REMOTE_ADDR")
'Obtenemos el rango de esta ip para ver si es el permitido
rango= valida_ipDeArreglo(ip)

'Entramos al ciclo desde que i valga 0(indice de 0 ), hasta
'el número máximo en el índice del arreglo
For i = 0 to uBound(arrIPSPermitidas)
'Obtenemos el rango para cada una de las IP's permitidas
'dentro del arreglo
RangoIPArreglo= valida_ipDeArreglo(arrIPSPermitidas(i))
'Si el rango de la ip del visitante es igual a cualquier
'rango de las ip's de nuestro arreglo entonces es permitido
If rango = RangoIPArreglo Then
permitido = true
'Regresa el valor, en este caso true
entra_ip= permitido
'Sale de la función
Exit Function
End If
Next
'Si no se encontró ningún rango igual, permanece en la función
'y regresa el valor de permitido, en este caso false
entra_ip= permitido
End Function

'Llamamos a la función y le pasamos las ip's que queremos permitir
'separadas por "," no dejar espacios entre ellas
esta_ip= entra_ip("192.168.0.255,193.168.0.500")
'Aqui solo vemos que valor devuelve la función, para evaluar la IP
Response.Write(esta_ip)
%>

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 15/11/2003, 02:06
wpp
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años, 5 meses
Puntos: 0
gracias
  #9 (permalink)  
Antiguo 16/11/2003, 01:27
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Por ná
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 21:32.