Averiguar o endereço IP de um visitante e bloquear IPs, em ASP

Script para obter o endereço IP de um visitante e bloquear se a IP não estiver permitida.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 08/5/07
Valorize este artigo:
Veremos como averiguar o endereço IP de um visitante em uma página ASP. É um processo muito simples, já que existem duas variáveis de servidor que nos oferecerão diretamente esta informação.

Podem ocorrer dois casos que temos que comprovar: 1) que o visitante navegue ele mesmo sobre a página y 2) que navegue através de um proxy. Isto podemos comprovar da seguinte maneira:

' Salvar a IP do visitante
'O visitante pode acessar por proxy, então pego a IP que estiver utilizando
ip = request.servervariaveis("HTTP_X_FORWARDED_FOR")
'Se não vier de um proxy, pego a ip do visitante
if ip ="" then
   ip = Request.servervariaveis("REMOTE_ADDR")
end if

Se quisermos evitar que um visitante navegue em nossas páginas com uma IP dada, simplesmente temos que comprovar com um IF que essa IP que queremos bloquear não é a do visitante.

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


Imaginemos que temos uma lista de IPs que queremos bloquear. Então seria útil colocar um simples array de IPs a bloquear e um loop para percorre-lo, de modo que possamos comprovar se a IP do visitante está no array de bloqueadas.

'crio um 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_atual in ips_bloqueadas
   'se a ip do visitante for igual a uma delas que há que bloquear
   if ip = ip_atual then
      response.redirect "explica_bloqueio.html"
end if
next





Comentários do artigo
Foram enviados 2 comentários ao artigo
2 comentários não revisados
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato