用ASP实现网页动态密码

数码时尚

  出于种种原因,我们可能需要这样一种密码保护功能:对于自己的某个网页,要在一定范围内保密,比如让普通的网友无法浏览,一些人可以在一段时间内浏览,另外一些人随时可以浏览,而自己则能够有选择地随时发放和收回浏览权限。

  下面的这个例子,就是以一天为一个时间段,用于打开网页的密码每一天改变一次,只要你把密码的算法告诉有访问权限的访问者即可,且代码非常短,只有20余行。密码构成规则为:字符“chen”+当天的星期数字加七+当天的日期数字(奇数减一,偶数加一)。如,在17日且为星期四的这天,密码就为:chen1116。

  <% @language=VBScript %>

  <html><head><title>动态密码认证</title></head>

  <body><%

  nDate=day(Date)

  nWeek=weekday(Date)

  if(int(nDate/2)<>(nDate/2))then

  nDate=nDate-1

  else

  nDate=nDate+1

  end if

  if nWeek=1 then

  nWeek=14

  else

  nWeek=nWeek+6

  end if

  passwd="chen"&cstr(nWeek)&cstr(nDate)

  if(passwd=Request.Form("word")) then%>

  <script language=VBS>

  window.open("http://www.domain.com/yourname.htm")

  </script>

  <%else%>

  <script language=VBS>

  alert("密码错误!")

  </script>

  <%end if%>

  </body></html>

  将该ASP页面作为需要保护的网页的入口时,只要将程序中的网址“http://www.domain.com/yourname.htm”改为你的页面地址,并在登录页中嵌入以“word”为密码变量的表单,指向该ASP页面就可以了。