日期:2008-07-26  浏览次数:21008 次

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

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

  源程序如下:(文件名:demo.ASP)

       <html> 
   <head> 
   <meta http-equiv=“Content-Type” content=“text/html; charset=gb_2312-80”> 
   <meta name=“GENERATOR” content=“Microsoft FrontPage Express 2.0”> 
   <style> 
   <!-- 
   .as{ line-height: 15px; font-size: 9pt } 
   a:hover {color: rgb(0,51,240);text-decoration:underline} 
   .p9 { font-family: “宋体”; font-size: 9pt; line-height: 15pt} 
   .p12 { font-family: “宋体”; font-size: 12pt; line-height: 18pt} 
   a:link { text-decoration: none;} 
   a:visited { text-decoration:none;} 
   a:hover {text-decoration: underline;font-size: 125%;color:blue} 
   --> 
   </style> 
   <title>ASP页面防火墙功用演示</title> 
   </head> 
   <body background=“back.jpg”> 
   <% 
   ′使用Request.ServerVariables(“REMOTE_ADDR”)得到IP地址并保存在变量rip中 
   rip=Request.ServerVariables(“REMOTE_ADDR”) 
   strip=cstr(rip) 
   ′取得IP地址第三个段的值并保存到strip中 
   for i=1 to 2 
   strip=right(strip,len(strip)-instr(1,strip,“.”)) 
   next 
   strip=left(strip,instr(1,strip,“.”)-1) 
   ′IP地址无效性检验及密码验证,包括两方面的内容: 
   ′如果IP地址符合则通过验证;如果IP地址不符合则检验输入的密码能否正确(此处密码为“asp”) 
   if (left(rip,5) <> “127.1” or strip<“1” or strip>“50”) and request(“Passwd”)<>“asp” then 
   %> 
   <p><font color=“#FF0000”>对不起,你的IP是<%=rip%>,本页面可以访问的IP是127.1.1.*到127.1.50.*之间,如果你是本单位内部网的用户,请确认你的浏览器没有使用代理!<BR></font></p> 
   <form action=“demo.asp” method=“POST” id=form1 name=form1> 
   <p>请输入访问密码:<input type=“password” name=“Passwd” > <input type=“submit” value=“确认” name=“B1”>; 
   </p> 
   </form> 
   <%else %> 
   ′合法用户可以访问的页面,在此可以加入任何信息 
   祝贺您,您曾经顺利通过了页面的安全认证,可以直接使用本站点的资源! 
   <%end if%> 
   </body> 
   </html> 

  实际使用只需稍微修正上面的程序(如IP地址等信息)就可以了,当然这只是在一个页面中实现了安全防备功用,如果一个网站有多个页面的话,可以设置一个session变量来对用户进行标志,以在后面的页面中进行判断。