为PJblog增加通过密码保护找回密码的功能(忘记密码功能),本人原创
本人今晚真的没睡啦,写了2个小时,修改了2个小时,把BUG都修补了。
要修改的源文件有:common/library.asp member.asp register.asp
详细方法和演示见本站:
http://www.levevio.cn/evio/article.asp?id=143
2008/05/01 更新 经测试,请把升级文件升级后,将类型“是/否”改为“文本”,然后删除3个字段内的值就不会出现原二级密码的错误。
谢谢 四川-果果 的指正,修补方法见 26#
===========================================================================
(2008/04/16更新)
现将二级密码和密码保护2个功能文件打包下载,请仔细阅读里面说明,按相应操作进行。
基本上如果没有修改过里面文件内容的可以直接覆盖,没有问题的。
下载:
===========================================================================
修改方法入下:
打开member.asp
1.找到
复制内容到剪贴板
代码:
<tr><td align="right" width="85"><strong>密码重复:</strong></td><td align="left" style="padding:3px;"><input name="Confirmpassword" type="password" size="18" class="userpass" maxlength="16"/> 必须和上面的密码一样</td></tr>在下面加上
复制内容到剪贴板
代码:
<tr><td align="right" width="85"><strong>密保问题:</strong></td><td align="left" style="padding:3px;"><input name="mbquestion" type="text" size="18" class="userpass" maxlength="16"/><font color="#FF0000"> *</font> </td></tr>
<tr><td align="right" width="85"><strong>密保答案:</strong></td><td align="left" style="padding:3px;"><input name="mbanswer" type="text" size="18" class="userpass" maxlength="16"/><font color="#FF0000"> *</font></td></tr>2.找到
复制内容到剪贴板
代码:
dim UID,username,Oldpassword,password,Confirmpassword,Gender,email,homepage,QQ,HideEmail,checkUser直接后面加上
复制内容到剪贴板
代码:
,mbquestion,mbanswer3.找到
复制内容到剪贴板
代码:
password=trim(CheckStr(request.form("password")))
Confirmpassword=trim(CheckStr(request.form("Confirmpassword")))下面添加
复制内容到剪贴板
代码:
mbquestion=trim(CheckStr(request.form("mbquestion")))
mbanswer=trim(CheckStr(request.form("mbanswer")))4.找到
复制内容到剪贴板
代码:
if password<>Confirmpassword then
ReInfo(0)="错误信息"
ReInfo(1)="<b>密码验证失败!请重新输入。</b><a href=""javascript:history.go(-1);"">单击返回</a>"
ReInfo(2)="ErrorIcon"
SaveMem=ReInfo
exit function
end if
end if下面添加
复制内容到剪贴板
代码:
if len(mbquestion)=0 or (len(mbquestion)<6 or len(mbquestion)>16) then
ReInfo(0)="错误信息"
ReInfo(1)="<b>请输入6到16位密保问题!</b><a href=""javascript:history.go(-1);"">单击返回</a>"
ReInfo(2)="WarningIcon"
SaveMem=ReInfo
exit function
end if
if len(mbanswer)=0 or (len(mbanswer)<6 or len(mbanswer)>16) then
ReInfo(0)="错误信息"
ReInfo(1)="<b>请输入6到16位密保答案!</b><a href=""javascript:history.go(-1);"">单击返回</a>"
ReInfo(2)="WarningIcon"
SaveMem=ReInfo
exit function
end if5.找到
复制内容到剪贴板
代码:
"update blog_member set mem_Sex="&Gender&",mem_Email='"&email&"',mem_HideEmail="&HideEmail&",mem_HomePage='"&homepage&"',mem_QQ='"&QQ&"'后面增加
复制内容到剪贴板
代码:
,mem_mbquestion='"&mbquestion&"',mem_mbanswer='"&mbanswer&"'打开register.asp
1.找到
复制内容到剪贴板
代码:
<tr><td align="right" width="85"><strong>密码重复:</strong></td><td align="left" style="padding:3px;"><input name="Confirmpassword" type="password" size="18" class="userpass" maxlength="16"/><font color="#FF0000"> *</font> 必须和上面的密码一样</td></tr>在下面增加
复制内容到剪贴板
代码:
<tr><td align="right" width="85"><strong>密保问题:</strong></td><td align="left" style="padding:3px;"><input name="mbquestion" type="text" size="18" class="userpass" maxlength="16"/><font color="#FF0000"> *</font> </td></tr>
<tr><td align="right" width="85"><strong>密保答案:</strong></td><td align="left" style="padding:3px;"><input name="mbanswer" type="text" size="18" class="userpass" maxlength="16"/><font color="#FF0000"> *</font></td></tr>2.找到
复制内容到剪贴板
代码:
dim username,password,Confirmpassword,Gender,email,homepage,validate,HideEmail,checkUser后面增加
复制内容到剪贴板
代码:
,mbquestion,mbanswer3.找到
复制内容到剪贴板
代码:
password=trim(CheckStr(request.form("password")))
Confirmpassword=trim(CheckStr(request.form("Confirmpassword")))下面增加
复制内容到剪贴板
代码:
mbquestion=trim(CheckStr(request.form("mbquestion")))
mbanswer=trim(CheckStr(request.form("mbanswer")))4.找到
复制内容到剪贴板
代码:
if password<>Confirmpassword then
ReInfo(0)="错误信息"
ReInfo(1)="<b>密码验证失败!请重新输入。</b><a href=""javascript:history.go(-1);"">单击返回</a>"
ReInfo(2)="ErrorIcon"
register=ReInfo
exit function
end if下面增加
复制内容到剪贴板
代码:
if len(mbquestion)=0 or (len(mbquestion)<6 or len(mbquestion)>16) then
ReInfo(0)="错误信息"
ReInfo(1)="<b>请输入6到16位密保问题!</b><a href=""javascript:history.go(-1);"">单击返回</a>"
ReInfo(2)="WarningIcon"
register=ReInfo
exit function
end if
if len(mbanswer)=0 or (len(mbanswer)<6 or len(mbanswer)>16) then
ReInfo(0)="错误信息"
ReInfo(1)="<b>请输入6到16位密保答案!</b><a href=""javascript:history.go(-1);"">单击返回</a>"
ReInfo(2)="WarningIcon"
register=ReInfo
exit function
end if5.找到
复制内容到剪贴板
代码:
AddUser=array(array("mem_Name",username),array("mem_Password",password)后面增加
复制内容到剪贴板
代码:
,array("mem_mbquestion",mbquestion),array("mem_mbanswer",mbanswer)打开common/library.asp
找到
复制内容到剪贴板
代码:
<a href=""login.asp"" class=""sideA"" accesskey=""L"">登录</a><a href=""register.asp"" class=""sideA"" accesskey=""U"">用户注册</a>后面增加
复制内容到剪贴板
代码:
<a href=""repass.asp"" class=""sideA"" accesskey=""U"">找回密码</a>===========================
BUG修复 member.asp找到
if request.form("hiddenEmail")=1 then
HideEmail=true
else
HideEmail=false
end if
在其上填加
if blog_mem("mem_mbquestion")="" then
ReInfo(0)="错误信息"
ReInfo(1)="<b>不允许填写密保!</b><br/><a href=""javascript:history.go(-1);"">单击返回重新注册</a>"
ReInfo(2)="ErrorIcon"
SaveMem=ReInfo
exit function
end if
=======================以上步骤完成后下载升级文件
将里面的
repass.asp传到网站的根目录。用
update.asp升级数据库,直接放网站根目录升级。
以下是动画演示文件,请放心下载,无毒。
fs2you网盘地址:
http://www.fs2you.com/files/02d9095e-08da-11dd-9aa3-00142218fc6e/
--------------------------------------------------------------------------------
在使用过程中,如果发现什么BUG,请直接给我留言。我会尽快修复。
http://www.levevio.cn/evio/LoadMod.asp?plugins=AJAXGuestBook 这里给我留言
---------------------------------------------------------------------------
[2008/04/14更新]请安装此插件的朋友,下载repass.asp文件进行覆盖,优化了加密方式。点击下载
[
本帖最后由 evio 于 2008-5-3 14:49 编辑 ]