好久没更新小站了,今天想登陆后台写点文章,因为好久木有登陆,连管理员密码都忘记了。怎么办?你可以下载数据库文件,打开后找到用户表,把密码一栏清空。因为Z-blog的密码是通过MD5加密的,所以只要自行设定一个密码,然后去生成这个密码的MD5散列,填入保存数据库即可。

  还有没有更简单的方法?答案是肯定的!我记得官方有提供一个密码重置工具的,说是工具其实就是一个ASP文件,叫findpassword.asp。于是前去下载,结果官方的下载页面还在,却已经无法下载了。还好我在其它地方找到了一个原版,用法很简单,上传至网络根目录,打开访问,即可重置密码为12345678。该文件核心代码如下:

<%
Call OpenConnect()

Dim objRS,i,j
Set objRS=Server.CreateObject("ADODB.Recordset")
objRS.CursorType = adOpenKeyset
objRS.LockType = adLockReadOnly
objRS.ActiveConnection=objConn
If CInt(Request.Form("userid"))>0 Then
j=Request.Form("userid")

objConn.Execute("UPDATE [blog_Member] SET [mem_PassWord]='"&MD5("12345678")&"' WHERE [mem_ID]="&j)

Response.Write "<p style='clear:both;padding:10px;'><span style='font-size:14px;float:left;color:blue'>管理员密码已重置为12345678,请删除此文件并登陆管理您的Blog.</span></p>"
End If

objRS.Source="SELECT * FROM [blog_Member] WHERE [mem_Level]=1"
objRS.Open()
If (Not objRS.bof) And (Not objRS.eof) Then
For i=1 To objRS.RecordCount

Response.Write "<p style='clear:both;padding:10px;'><span style='font-size:20px;float:left;'>"+"管理员:"+objRS("mem_Name")+"</span><input type='submit' value='重置密码为12345678' style='float:right;' onclick='document.getElementById(""userid"").value="&objRS("mem_ID")&"'></input></p>"

objRS.MoveNext
If objRS.eof Then Exit For
Next
End If
objRS.Close()

Call CloseConnect()
%>

  小站上留一个,以供有需要的朋友下载使用。不过要注意的是,不支持新版的Z-blog 2.x,因为新版采用了新的数据库结构。如果你能把上面的代码读懂,写一个新版Z-blog的密码重置工具也就很简单了。最后,记得使用后,立即在网站上删除此文件,以免别人也访问使用。

Z-blog 密码重置工具