asp实现限制IP或IP段访问网站代码
代码如下 | 复制代码 |
<% |
下面把代码我们放到index.asp 文件中
代码如下 | 复制代码 |
<% '受屏蔽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 %> |
这样再去访问一下我们刚才限制的ip试一下肯定不行了哈,
补充:asp教程,高级应用