日期:2011-10-09  浏览次数:20920 次

我们利用Serv-U的obdc功能,可以把FTP用户信息存在数据库中,这样对Web操作方便了很多,下面是在线更改密码的列子,数据库为Access,表和字段的设计请参考Serv-U的帮助文件。

加密算法为随机码与MD532位加密,例如:
两个随机字母:ab
用户输入密码:123456
生成的密码为:ab +MD5(ab123456)

参考:

补充:md5返回为32位的大写字符

提示:代码仅实现更改密码的功能,并不一定完全符合或达到您的需求。


<!--#includefile='conn.asp'-->
<!--#includefile='include/md5.asp'-->
<%
dimact,UserName,OldPassword,NewPassword,reNewPassword
act=Request.form("act")
ifact="update"then

 UserName  =Request.form("UserName")
 OldPassword  =Request.form("OldPassword")
 NewPassword  =Request.form("NewPassword")
 reNewPassword =Request.form("reNewPassword")
 UserName  =Replace(UserName,"'","'")

 iflen(UserName)<1orlen(OldPassword)<1orlen(NewPassword)<1orlen(reNewPassword)<1then
  alert("表单没有填写完整")
 endif

 iftrim(NewPassword)<>trim(reNewPassword)then
  alert("密码与确认密码不一样")
 endif

 Sql0="selecttop1name,[password]from[useraccounts]wherename='"&UserName&"'"
 setrs0=conn.execute(Sql0)
 ifrs0.eofandrs0.bofthen
  alert("用户名不存在")
 else
  dbname=rs0("name")
  dbpassword=rs0("password")
 endif

 iftrim(cdbpassword)<>trim(dbpassword)then
  alert("密码错误")
 else
  rndstr=MyRandc(2) '两位随机字母
  newdbpassword=rndstr& md5(rndstr&NewPassword)
  sql2="update[useraccounts]set[password]='"&newdbpassword&"'wherename='"&UserName&"'"
  conn.execute(sql2)
  alert("密码已经更改,可能要几钟后才能生效")
 endif
endif

functionalert(x)
 response.write"<scriptlanguage='JavaScript'>alert('"&replace(x,"""","""")&"');history.go(-1);</script>"
 conn.close
 setconn=nothing
 response.end
endfunction

functionMyRandc(n)'生成随机字符,n为字符的个数
 thechr=""
 fori=1ton
  Randomizetimer
  zNum=cint(25*Rnd)
  ifzNummod2=0then
   zNum=zNum+97
  else
   zNum=zNum+65
  endif
  thechr=thechr&chr(zNum)
 next
 MyRandc=thechr
endfunction
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METANAME="Author"CONTENT="海娃(51windows)">
<METANAME="Keywords"CONTENT="">
<title>更改FTP(Serv-U)密码-51windows.net</title>
</head>
<body>
<formmethod="POST"action=""name="form"autocomplete="off">
<inputtype="hidden"name="act"value="update">
<divalign="center">
 <center>
     <tableborder="0"width="480"cellpadding="2"cellspacing="1"class="table"style="border:1solid#336699;font-size:14px;">
       <tr>
         <tdwidth="100%"align="center"colspan="2"class="title"style="background:#336699;color:#FFFFFF;">更改FTP(Serv-U)密码</td>
   &nb