asp限制IP登陆

上一篇 / 下一篇  2008-04-18 10:19:22

'受屏蔽IP地址(段)集合,星号为通配符,通常保存于配置文件中。
Const BadIPGroup = "192.168.1.*|202.68.*.*|*.12.55.34|185.*.96.24|127.*.0.1|192.168.0.1"

If IsForbidIP(BadIPGroup) = True Then
     Response.Write(GetIP &"IP地址禁止访问")
     Response.End()
End If


'****************************************************************
'参数vBadIP:要屏蔽的IP段,IP地址集合,用|符号分隔多个IP地址(段)
'返回Bool:True用户IP在被屏蔽范围,False 反之
'****************************************************************
Function IsForbidIP(vBadIP)
     Dim counter, arrIPPart, arrBadIP, arrBadIPPart, i, j
    
    arrBadIP = Split(vBadIP, "|")    
    arrIPPart = Split(GetIP(), ".")
   
     For i = 0 To UBound(arrBadIP)         
         counter = 0
         arrBadIPPart = Split(arrBadIP(i), ".")        
         For j = 0 To UBound(arrIPPart)             
             If(arrBadIPPart(j)) = "*" or Cstr(arrIPPart(j)) = Cstr(arrBadIPPart(j)) Then            
                 counter = counter + 1            
             End If            
         Next        
         If counter = 4 Then            
             IsForbidIP = True
             Exit Function
         End If        
     Next
     IsForbidIP = False
End Function

'***************
'返回客户IP地址
'***************
Function GetIP()
     Dim IP
     IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    If IP = "" Then IP = Request.ServerVariables("REMOTE_ADDR")
    GetIP = IP
End Function


TAG: asp ASP Response 通配符 BadIPGroup True

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-30  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 496
  • 日志数: 18
  • 影音数: 1
  • 书签数: 3
  • 建立时间: 2008-03-24
  • 更新时间: 2008-07-02

RSS订阅

Open Toolbar