Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

maktub

Bloqueio

Recommended Posts

Poderiam ajudar? Encontrei esta solução para bloquear uma determinada faixa de IP no meu site:

 

<%
Dim i, sIP
Dim vFaixa(2), vIP(5)

vFaixa(0) = "200"
vFaixa(1) = "201"
vIP(0) = "200.162.198.1"
vIP(1) = "200.162.199.1"
vIP(2) = "200.162.58.1"
vIP(3) = "200.162.98.1"
vIP(4) = "200.132.198.1"

sIP = Trim(Request.ServerVariables("REMOTE_ADDR"))

'-- Faixas --
For i = LBound(vFaixa) To UBound(vFaixa)
If Left(sIP, InStr(1, sIP, ".")-1) = vFaixa(i) Then
Response.Redirect ("bloqueio.asp")
End If
Next

'-- IPs --
For i = LBound(vIP) To UBound(vIP)
If sIP = vIP(i) Then
Response.Redirect ("bloqueio.asp")
End If
Next

%>

 

 

Mas esta gerando o erro:

 

Erro de compilação do Microsoft VBScript erro '800a0411'

Redefinição do nome

D:\WEB\LOCALUSER\MEUSITE\WWW\HOME\../includes/inc_header.asp, line 10

Dim i, sIP
----^

 

a linha 10 é essa:

 

Dim i, sIP

Compartilhar este post


Link para o post
Compartilhar em outros sites

este erro é pq você esta usando doi FOR ... NEXT com a mesma variavel, tente

mudar o "i" do for (vIP).

 

 

olha o código abaixo ira 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(2) 
'endereços IP k seraun bloqueados no array
sIParray(0) = "61.254.40.22" 
sIParray(1) = "62.454.40.25" 
sIParray(2) = "62.254.40.17" 
'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 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que, aparentemente, você esta declarando uma variável que já foi declarada anteriormente. Altere o nome dessa variável ou não a declare.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como falei acima

este erro é pq você esta usando doi FOR ... NEXT com a mesma variavel, tente

mudar o "i" do for (vIP).

mude assim:

 

<%
Dim i, sIP
Dim vFaixa(2), vIP(5)

vFaixa(0) = "200"
vFaixa(1) = "201"
vIP(0) = "200.162.198.1"
vIP(1) = "200.162.199.1"
vIP(2) = "200.162.58.1"
vIP(3) = "200.162.98.1"
vIP(4) = "200.132.198.1"

sIP = Trim(Request.ServerVariables("REMOTE_ADDR"))

'-- Faixas --
For i = LBound(vFaixa) To UBound(vFaixa)
If Left(sIP, InStr(1, sIP, ".")-1) = vFaixa(i) Then
Response.Redirect ("bloqueio.asp")
End If
Next

'-- IPs --
For x = LBound(vIP) To UBound(vIP)
If sIP = vIP(x) Then
Response.Redirect ("bloqueio.asp")
End If
Next

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro continua, porém fiz um pesquisando na WEB assim:

 

<%
Dim EndUser, BlockIP
EndUser = Request.ServerVariables("REMOTE_ADDR")
BlockIP = "189.79.105.5"
If EndUser = BlockIP Then
%>
<%
Response.Redirect ("negado.asp")
%>
<% Else %>
Olá, seja bem vindo!
<% End If %>

O problema é que preciso colocar uma faixa de IP, esse limita-se a colocar IP por IP, funciona mas precisava bloquear uma faixa de IP

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%

Function ControlaIP(ip,faixaDe,faixaAte)

ip = Replace(ip,".","")

faixaDe = Replace(faixaDe,".","")

faixaAte = Replace(faixaAte,".","")

 

if (cdbl(ip) >= cdbl(faixaDe)) AND (cdbl(ip) <= cdbl(faixaAte)) then

ControlaIP = True

else

ControlaIP = False

end if

End Function

 

If ControlaIP(Request.ServerVariables("REMOTE_ADDR"),"200.142.128.0","200.142.128.20") then

response.write Request.ServerVariables("REMOTE_ADDR") & ": IP dentro da faixa!!"

elseif ControlaIP(Request.ServerVariables("REMOTE_ADDR"),"189.20.205.179","189.20.205.181") then

response.write Request.ServerVariables("REMOTE_ADDR") & ": IP dentro da faixa!!"

else

response.write Request.ServerVariables("REMOTE_ADDR") & ": IP fora da faixa!!"

end if

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites
O problema é que preciso colocar uma faixa de IP, esse limita-se a colocar IP por IP, funciona mas precisava bloquear uma faixa de IP
Continue utilizando seu exemplo postado lá no início, só troque a variável "i" por outro nome, ou simplesmente retire ela daquele DIM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho um sistema de bloqueio de IP, fácil de utilizar a filtragem IP para garantir

contra visitantes. Basta digitar os endereços IP no programa e ele faz o resto.Se quiser me manda um email que te envio, muito bom, e depois você pode adaptá-lo.Exibe tentativa de acesso proibido em contagens de IP's,redirecionamento individual por IP banido ,anti SQL injection,

Permitição ou negação ao acesso a mais de 213 países,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.