Averiguar la dirección IP de un visitante y bloquear IPs, en ASP

Valoración del artículo:
Script para obtener la dirección IP de un visitante y bloquear si la IP no está permitida.
Publicado: 16/8/06
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
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

Comentarios
Fueron enviados 11 comentarios al artículo
2 comentarios no revisados
9 comentarios revisados:
Por: Alexandra Salas
05/9/06
Como averigüo la IP de un usuario que labora en una empresa y accesa a Internet a través de un servidor de la compañia, ya que si lo hago a través de este método lo que me arroja es la IP pública de dicho servidor. Gracias,
Por: Miguel
20/9/06
Si deseas averiguar la IP de la red interna de un usuario de una empresa creo que lo tienes dificil. Porque tu servidor siempre va a recibir la IP con la que sale a Internet la empresa entera. Es decir, todos los empleados de esa empresa utilizarán la misma IP, por lo que respecta a tu servidor no habrá diferencia entre un acceso de un empleado u otro.
Por: david
16/10/06
y si quisiera bloquear un rango de ips? no voy a hacer un vector de 256 direcciones no? gracias.
Por: Falconeti13
20/11/06
Muy Facil


<?
echo $myIP = gethostbyname(trim(`hostname`));
?>
Por: Alen
09/12/06
Mis saludos a cada uno.
Me gusto este articulo, queria saber si se puede hacer en html o php?'

gracias
Por: lead
07/4/07
como puedo encontrar la direccion exacta atraves de un ip? es decir, tengo un ip como averiguo en que parte de mi cudad lo encuentro!?
Por: Tomas
28/7/07
hola nesecito averiguar la direccion IP de donde me estan manando correor electronicos en donde amenazan mi vida y saben todo sobre mi vida por favor ayuda
Por: daniel
04/1/09
tengoun problema grande y es que alguien se esta haciendo pasar por mi en el msn y en un cuenta de correo electronico publica fotos mias y usa mi informacion persona como fecha de nacimiento y lugar de nacimiento todo... quisiera saber como puedo averiguar la ip de la persona de donde me envia los correos electronicos o alguna forma de averiguar informacion para saber porlo menos de que ciudad hace lo que hace... les agradezco
ip
Por: anonimo
05/6/09
como averiguo la ip de otro ordenador con mensaje llegado de este?

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo