在实际应用中,有时候需要屏蔽掉某些ip地址对网站的访问,最有效的办法当然是在IIS或者apache里设置,当不具备主机的管理权限,可以在程序中控制,禁止某些ip地址的访问。
asp代码书写如下:
Const DenyIPArray = "124.115.*.*|192.*.*.*|"
//这里定义流氓ip段
If IsDenyIP(DenyIPArray) = False Then
Response.Redirect("first.aspx")
else
Response.Redirect("http://www.qq.com")
//如果是流氓ip段的访问,则跳转到qq,让它自己调戏自己去
End If
Function IsDenyIP(DenyIP)
Dim count, arrIPSub, arrDenyIP, arrDenyIPSub, i, j,RemoteIP
arrDenyIP = Split(DenyIP, "|")
RemoteIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then IP = Request.ServerVariables("REMOTE_ADDR")
arrIPSub = Split(IP, ".")
For i = 0 To UBound(arrDenyIP)-1
count = 0
arrDenyIPSub = Split(arrDenyIP(i), ".")
For j = 0 To UBound(arrIPSub)
If(arrDenyIPSub(j)) = "*" or Cstr(arrIPSub(j)) = Cstr(arrDenyIPSub(j)) Then
count = count + 1
End If
Next
If count = 4 Then
IsDenyIP = True
Exit Function
End If
Next
IsDenyIP = False
End Function
下面是完整的代码文件
/uploadfiles/2008092509191016.rar