ASP实现主页防火墙功能 刘玉锋 2000年 第3期   ASP作为一种WEB编程语言现在已经广泛的应用于Internet上面,可以作留言簿、计数器等各类交互式的网页。其实用它也可以实现简单的站点防火墙功能。   下面举例实现一个简单的页面防火墙功能,此页面只允许本单位内部网的用户访问(假设内部网的IP地址在127.1.1.*~127.1.50.*之间),如果是单位外部用户进行访问则要求输入访问密码。   在此主要使用request对象的ServerVariables属性,通过它来获得环境变量的值。使用的语法为:Request.ServerVariables(variable)   variable:表示环境变量的名称,如服务器主机名称、WEB服务器软件名等等(具体信息请参考各类ASP书籍),若variable为“REMOTE_ADDR”则表示访问者的IP地址,通过它就可以实现IP地址的过滤。   源程序如下:   文件名:demo.asp                  ASP页面防火墙功能演示         <%   ′使用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   %>   

对不起,你的IP是<%=rip%>,本页面可以访问的IP是127.1.1.*到127.1.50.*之间,如果你是本单位内部网的用户,请确认你的浏览器没有使用代理!

  
  

请输入访问密码: ;   

  
  <%else %>   ′合法用户可以访问的页面,在此可以加入任何信息   恭喜,你已经通过了验证,可以直接使用本站点的资源!   <%end if%>         实际使用只要稍微修改上面的程序(如IP地址等信息)就可以了,当然这只是在一个页面中实现了防火墙功能,如果一个网站有多个页面的话,可以设置一个session变量来对用户进行标志,以在后面的页面中进行判断。