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 ifSe 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
%>
RSS Feed
Twitter
Posted in
Tags: 