> Manuales > Taller de ASP

Script para obtener la dirección IP de un visitante y bloquear si la IP no está permitida.

Veremos como averiguar la dirección IP de un visitante en una página ASP. Es un proceso muy sencillo, ya que existen dos variables de servidor que nos ofrecerán directamente esta información.

Pueden ocurrir dos casos que tenemos que comprobar: 1) que el visitante navegue él mismo sobre la página y 2) que navegue a través de un proxy. Esto lo podemos comprobar de la siguiente manera:

' Guardar la IP del visitante
'El visitante puede acceder por proxy, entonces tomo la IP que lo está utilizando
ip = request.servervariables("HTTP_X_FORWARDED_FOR")
'Si no venía de un proxy, tomo la ip del visitante
if ip ="" then
   ip = Request.servervariables("REMOTE_ADDR")
end if

Si queremos evitar que nuestras páginas las puedan navegar un visitante con una IP dada, simplemente tenemos que comprobar con un IF que esa IP que queremos bloquear no es la del visitante.

if ip = "127.0.0.1" then
   response.write ("bloqueo")
end if


Imaginemos que tenemos una lista de IPs que queremos bloquear. Entonces sería útil colocar un sencillo array de IPs a bloquear y un bucle para recorrerlo, de modo que podamos comprobar si la IP del visitante está en el array de bloqueadas.

'creo un array de ips bloqueadas
dim ips_bloqueadas(5)
ips_bloqueadas(0) = "10.10.1.1"
ips_bloqueadas(1) = "103.10.1.21"
ips_bloqueadas(2) = "1.130.41.1"
ips_bloqueadas(3) = "30.105.61.13"
ips_bloqueadas(4) = "102.210.161.1"

'para cada ip bloqueada
for each ip_actual in ips_bloqueadas
   'si la ip del visitante es igual a una de las que hay que bloquear
   if ip = ip_actual then
      response.redirect "explica_bloqueo.html"
end if
next

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual