用ASP实现简单的网页保护功能

Author: 阿龙 Date: 2001年 31期

    下面举例来说明如何实现一个简单的页面安全防范功能,例如此页面只允许本单位内部网的用户访问,如果是单位外部用户进行访问则要求输入访问密码。
      在这里主要使用Request对象的ServerVariables属性,通过它来获得环境变量的值。使用的语法为:Request.ServerVariables?焩ariable?牐皏ariable”表示环境变量的名称,如服务器主机名称、WEB服务器软件名等等,若“variable”为“REMOTE_ADDR”则表示访问者的IP地址,通过它就可以实现IP地址的过滤。
      源程序如下:(文件名:index.asp)??
      <html>
      <head>
      <meta http-equiv=“Content-Type” content=“text/html;charset=gb_2312-80”>
      <meta name=“GENERATOR” content=“Microsoft FrontPage2000 ”>
      <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变量来对用户进行标志,以便在后面的页面中进行判断。