📄 modification.asp
字号:
<!-- #include file="Cls.asp" -->
<!-- #include file="inc/Mail.asp" -->
<!-- #include file="inc/MD5.asp" --><%
top "找回密码",true
ChkVisitor()
if Cache("SmtpObj")=Empty then Error 6,"<li>系统未开启邮件发送功能</li>"
Randomize
RandomCode=RanPass(10)
Dim Username,Code
Username=HTMLEncode(Request("Username"))
VerifyCode=ChkNumeric(Request.Form("VerifyCode"))
Code=HTMLEncode(Request.QueryString("Code"))
if UserName<>"" then
sql="select * from [WxUsers] where UserName='"&UserName&"'"
Rs.Open sql,Conn,1
if Rs.Eof then Error2("用户 "&UserName&" 不存在")
UserRoleiD=Rs("UserRoleID")
Usermail=Rs("Usermail")
PasswordQuestion=Rs("PasswordQuestion")
PasswordAnswer=Rs("PasswordAnswer")
Rs.close
end if
select case Request("menu")
case ""
step1
case "step2"
step2
case "step3"
step3
case "step4"
step4
end select
sub step1
%><div class="nav dt"><img alt="" src="Images/Forum_nav.gif" /> <%=ClubTree%> → 找回密码</div>
<form method="post" action="Modification.asp?menu=step2">
<div class="tb dt">
<div id="tt">找回密码(第一步:用户名)</div>
<div class="tc b cb">
<div class="fl r w2 si">验证码</div>
<div class="fl si"><%=WriteVerifyCode%></div>
</div>
<div class="tc b cb">
<div class="fl r w2 si">用户名</div>
<div class="fl si"><input size="30" name="UserName" maxlength="16" value="" /></div>
</div>
<div class="tc cb ac"><input type="submit" id="submit" value=" 确定 " /> <input type="reset" id="cancel" value=" 取消 " /></div>
</div>
</form>
<%
end sub
sub step2
if UserName="" then ErrMsg=ErrMsg&"<li>用户名称没有填写</li>"
if VerifyCode<>Int(Session("VerifyCode")) then ErrMsg=ErrMsg&"<li>验证码错误</li>"
if PasswordQuestion="" Then ErrMsg=ErrMsg&"<li>该用户没有设置密码提示问题</li>"
if UserRoleID=2 Or UserRoleID=1 Then ErrMsg=ErrMsg&"<li>该用户属管理员级别,请联系其他管理员帮助找回</li>"
if ErrMsg<>"" then Error 3,ErrMsg%>
<div class="nav dt"><img alt="" src="Images/Forum_nav.gif" /> <%=ClubTree%> → 找回密码</div>
<form method="post" action="Modification.asp?menu=step3">
<input type="hidden" name="Username" value="<%=Username%>">
<div class="tb dt">
<div id="tt">找回密码(第二步:回答问题)</div>
<div class="tc b cb">
<div class="fl r w2 si">验证码</div>
<div class="fl si"><input name="VerifyCode" size="10" /><%=WriteVerifyCode%></div>
</div>
<div class="tc b cb">
<div class="fl r w2 si">提示问题</div>
<div class="fl si"><%=HTMLEncode(PasswordQuestion)%></div>
</div>
<div class="tc b cb">
<div class="fl r w2 si">问题答案</div>
<div class="fl si"><input size="30" name="PasswordAnswer" value="" /></div>
</div>
<div class="tc cb ac"><input type="submit" id="submit" value=" 确定 " /> <input type="reset" id="cancel" value=" 取消 " /></div>
</div>
</form>
<%
end sub
sub step3
UserAnswer=md5(HTMLEncode(Request.Form("PasswordAnswer")))
if VerifyCode<>Int(Session("VerifyCode")) then ErrMsg=ErrMsg&"<li>验证码错误</li>"
if UserAnswer<>PasswordAnswer Then ErrMsg=ErrMsg&"<li>问题答案填写错误</li>"
if ErrMsg<>"" then Error 3,ErrMsg
CacheAdd "Modification"&Username,RandomCode
Response.write RandomCode
body=""&vbCrlf&"亲爱的"&UserName&", 您好!"&vbCrlf&""&vbCrlf&" 请在20分钟内点击以下链接, 系统将自动生成新的密码!"&vbCrlf&""&vbCrlf&" * "&Cache("SiteURL")&"Modification.asp?menu=step4&Username="&UserName&"&Code="&RandomCode&""&vbCrlf&""&vbCrlf&" * "&Cache("SiteName")&"("&Cache("SiteUrl")&"Default.asp)"&vbCrlf&""&vbCrlf&" * 最后, 有几点注意事项请您牢记"&vbCrlf&"1、请遵守《计算机信息网络国际联网安全保护管理办法》里的一切规定。"&vbCrlf&"2、使用轻松而健康的话题,所以请不要涉及政治、宗教等敏感话题。"&vbCrlf&"3、承担一切因您的行为而直接或间接导致的民事或刑事法律责任。"&vbCrlf&""&vbCrlf&""&vbCrlf&"论坛服务由 "&Cache("CompanyName")&"("&Cache("CompanyUrl")&") 提供"&vbCrlf&""&vbCrlf&""&vbCrlf&""
SendMail Usermail,"用户找回密码",body
%>
<div class="nav dt"><img alt="" src="Images/Forum_nav.gif" /> <%=ClubTree%> → 找回密码</div>
<div class="tb dt">
<div id="tt">找回密码(第三步:收取邮件)</div>
<div class="tc b cb">
<div class="fl r w2 si">提示信息</div>
<div class="fl si">系统已经向您的Email(<%=Usermail%>)发送了一封邮件。在打开邮件中的论坛密码激活地址后,系统将给您分配新的密码。</div>
</div>
<%
end sub
sub step4
if Code<>Cache("Modification"&Username) then Error 6,"<li>该Email已过期</li>"
Conn.Execute("update [WxUsers] set Userpass='"&md5(Code)&"' where UserName='"&Username&"'")
%>
<div class="nav dt"><img alt="" src="Images/Forum_nav.gif" /> <%=ClubTree%> → 找回密码</div>
<div class="tb dt">
<div id="tt">找回密码(第四步:更改密码)</div>
<div class="tc b cb">
<div class="fl r w2 si">提示信息</div>
<div class="fl si">您的新密码为:<b><%=Code%></b>,请登录后修改密码</div>
</div>
<%
CacheAdd "Modification"&Username,""
end sub
Function RanPass(iLen)
Randomize
For i=1 To iLen
Flag = Int(3* Rnd)
Select case Flag
case 0
upper = 90
lower = 65
case 1
upper=122
lower=97
case Else
upper = 57
lower = 48
end Select
sPass = sPass & chr(Int((upper - lower + 1) * Rnd + lower))
Next
RanPass=sPass
end Function
HtmlEnd%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -