ASP: Bloqueando endereços IP

Para bloquear IP, antes iremos verificar o endereço IP de um visitante, que é um processo muito simples, já que existem duas variáveis de servidor que nos oferecerão diretamente esta informação.

Existem dois modos de navegação do usuário. Ele pode ter vindo de um Proxy ou em um browser que não usa Proxy. No primeiro caso sabemos que ele está vindo de um Proxy, através do HTTP_X_FORWARDED_FOR do objeto Request da coleção servervariaveis.

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

Se quisermos evitar que um visitante navegue em nossas páginas com um
IP, simplesmente temos que verificar com um IF que esse IP que queremos
bloquear não é o do visitante.

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

A variável REMOTE_ADDR devolve o endereço IP do Host remoto que faz a requisição, já o HTTP_X_FORWARDED_FOR irá dizer se usuário está atrás de um servidor proxy. Você deve usar este primeiro e se os resultados forem valor nulo ou “desconhecido”, então use Request.ServerVariables ["REMOTE_ADDR"] para determinar o endereço IP.

Imagine uma lista de IPs que desejamos bloquear. Inserimos um simples array contendo os IPs que queremos bloquear e faremos um loop para percorrê-lo, de modo que possamos verificar se o IP do usuário está na lista de IP´s a serem bloqueados.

'lista de  ips bloqueados
dim ip_bloqueados(5)
ip_bloqueados(0) = "61.254.40.22"
ip_bloqueados(1) = "62.454.40.25"
ip_bloqueados(2) = "62.254.40.17"
ip_bloqueados(3) = "65.105.61.13"
ip_bloqueados(4) = "108.210.161.1" 

for each ip_atual in ips_bloqueadas
   'se o ip do visitante ,estiver na lista
   if ip = ip_atual then
      response.redirect " no_access. asp"
end if 
next

O código abaixo irá detectar endereço de IP do visitante e verificar se
deve fazer o bloqueio de endereços IP. Se o endereço corresponde a
qualquer um de nossa matriz, o nosso visitante será redirecionado para
a página "no_access.asp".
<%
'declara variaveis
Dim sIP
Dim sIParray(5)
'endereços IP k serão bloqueados no array
sIParray(0) = "61.254.40.22"
sIParray(1) = "62.454.40.25"
sIParray(2) = "62.254.40.17"
sIParray (3) = "65.105.61.13"
sIParray (4) = "108.210.161.1"
'Recupera o endereço IP dos visitantes
sIP = Request.ServerVariables("REMOTE_ADDR") 

' Loop através dos IPs banidos usando a função UBound
For i = 0 to UBound(sIParray)
'Verifica se o endereço IP corresponde a qualquer dos IPs bloqueados
If sIP = sIParray(i) Then
Response.Redirect "no_access.asp"
End If
Next
%>

You can leave a response, or trackback from your own site.

Leave a Reply

Powered by WordPress | Find Low APR Credit Cards at BestInCreditCards.com | Thanks to iApplyForCreditCards.com, RPG Soundtracks and Transfer of Equity
SEO Powered by Platinum SEO from Techblissonline