ASP代码中如何屏蔽ip地址 禁止IP地址访问网站

ASP代码中如何屏蔽ip地址 禁止IP地址访问网站,第1张

带提示

<%

if Request.ServerVariables("REMOTE_ADDR")="113.97.238.13" then

Response.Write "您的IP已被禁止,无权访问本站!"

end if

%>

不带提示

<%

if Request.ServerVariables("REMOTE_ADDR")="113.97.238.13" then

Response.Write""

end if

%>

把以下代码加入到你的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

%>

要使用request对象

的ServerVariables属性,通过它来获得环境变量的值。使用的语法为:Request.ServerVariables(variable),variable表示环境变量的名称,如服务器主机名称、Web服务器软件名等等,若variable为REMOTE_ADDR则表示访问者的IP地址,通过它就可以实现IP地址的过滤。

源程序如下:(文件名:demo.ASP)<html><head>

<metahttp-equiv=Content-Typecontent=text/htmlcharset=gb_2312-80><metaname=GENERATORcontent=MicrosoftFrontPageExpress2.0>

<style>

<!--

.as{line-height:15pxfont-size:9pt}

a:hover{color:rgb(0,51,240)text-decoration:underline}

.p9{font-family:宋体font-size:9ptline-height:15pt}

.p12{font-family:宋体font-size:12ptline-height:18pt}

a:link{text-decoration:none}

a:visited{text-decoration:none}

a:hover{text-decoration:underlinefont-size:125%color:blue}--></style>

<title>ASP页面防火墙功能演示</title>

</head><bodybackground=back.jpg><%′使用Request.ServerVariables(REMOTE_ADDR)得到IP地址并保存在变量rip中rip=Request

.ServerVariables(REMOTE_ADDR)strip=cstr(rip)′取得IP地址第三个段的值并保存到strip中fori=1to2strip=right(strip,len(strip)-instr(1,strip,.))nextstrip=left(strip,instr(1,strip,.)-1)

′IP地址有效性检验及密码验证,包括两方面的内容:

′如果IP地址符合则通过验证;如果IP地址不符合则检验输入的密码是否正确(此处密码为asp)

if(left(rip,5)<>127.1orstrip<1orstrip>50)andrequest(Passwd)<>aspthen%><p><fontcolor=#FF0000>对不起,你的IP是<%=rip%>,本页面可以访问的IP是127.1.1.*到127.1.50.*之间,如果你是本单位内部网的用户,请确认你的浏览器没有使用代理!<BR></font></p><formaction=demo.aspmethod=POSTid=form1name=form1><p>请输入访问密码:<inputtype=passwordname=Passwd><inputtype=submitvalue=确认name=B1></p></form>

<%else%>

′合法用户可以访问的页面,在此可以加入任何信息

祝贺您,您已经顺利通过了页面的安全认证,可以直接使用本站点的资源!

<%endif%>

</body>


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/412724.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存