禁止IP段访问问题

poemail 2008-12-01 04:21:34
代码如下:


<%
Dim IP,IPString,VisitIP
'要禁止的IP地址
IPString="|58.63.1.0|59.41.28.0|59.41.142.0|'中间略....|219.136.220.165"
'获取IP地址
IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then
IP = Request.ServerVariables("REMOTE_ADDR")
End If

'请问此处该如何判断IP段
VisitIP="|"&IP&"|"

If instr(1,IPString,VisitIP)>0 Then
Response.redirect error.asp"
Else
response.redirect "index.asp"
response.end
End If
%>


请问我如何通过条件判断而排除部分访问者。
...全文
109 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
virgo2008 2008-12-01
汗,我怎么没有看到你结贴的标识啊?难道我网速慢了!?
回复
Yes1000 2008-12-01
<%
Dim IP,IPString,VisitIP,IPlist

'要禁止的IP地址
IPString="|58.63.1.0|59.41.28.0|59.41.142.0|'中间略....|219.136.220.165"

'获取IP地址
IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then
IP = Request.ServerVariables("REMOTE_ADDR")
End If

IPlist = Split(IPString,"|") '转化为数组
isOK = True '初始化状态

For i = 0 To UBound(IPlist)
If IPlist(i) <> "" Then
'如果用户IP在禁止列表里,设置isOK为false并退出循环
If Left(IP,Len(IPlist(i))) = IPlist(i) Then
isOK = False
Exit For
End If
End If
Next

'最后如果isOK是true 说明用户IP不再禁止IP段,否则就在,执行相应操作……
'response.redirect 后的任何代码都是多余的,因为根本没有机会执行,response.end不必写

If isOK Then
response.redirect "index.asp"
Else
Response.redirect "error.asp"
End If
%>
回复
poemail 2008-12-01
已结帖,公布我的代码吧:

Dim IP,IPString,VisitIP
'要禁止的IP地址
IPString="|58.63.1|59.41.28|59.41.142|59.42.206|'...省略部分|219.137.175|"
'获取IP地址
IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then
IP = Request.ServerVariables("REMOTE_ADDR")
End If

ip = split(ip,".")
p=ip(0)&"."&ip(1)&"."&ip(2)

VisitIP="|"&p&"|"
If instr(1,IPString,VisitIP)>0 Then
Response.redirect "error.asp"
Else
Response.redirect "index.asp"
response.end
回复
virgo2008 2008-12-01
建议你在数据库里面设置一个IP段,然后比对数据库就OK了!
回复
poemail 2008-12-01
我想禁止的是IP段,即58.63.1.0这个58.63.1 c网段的IP都不能访问,谢谢。
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-12-01 04:21
社区公告
暂无公告