zblog找回密码工具
使用:通过FTP上传到Z-BlogPHP的根目录,在浏览器中打 域名/nologin.php ,使用过后会自动删除。
不知道后台地址的情况下也可以用此方法。
对于有终端权限的空间,可以使用下边命令直接获取密码重置工具,改名后相对可以提升一些安全性:
wgethttps://raw.githubusercontent.com/zblogcn/zblogphp/master/utils/nologin.php&&mvnologin.php"nologin-$(date+%m%d%H%M).php" #findnologin* #ls竖版只要文件名 ls-1nologin* #用完以后删除 rm-rfnologin*.phpnologin.php&&ls-1&&ls-1nologin*
下载地址:https://update.zblogcn.com/tools/nologin.zip
代码预览
<?php
require'./zb_system/function/c_system_base.php';
//$zbp->Load();
if(isset($_GET['uid'])&&isset($_GET['resetpw'])){
$id=(int)$_GET['uid'];
$m=$zbp->GetMemberByID($id);
$m->Level=1;
if(trim($m->Guid)==''){
$m->Guid=GetGuid();
}
$m->Password=Member::GetPassWordByGuid('12345678',$m->Guid);
$m->Save();
unlink(__FILE__);
Redirect('zb_system/cmd.php?act=login');
die;
}
if(isset($_GET['uid'])){
$zbp->Load();
$zbp->LoadMembers(1);
$m=$zbp->members[$_GET['uid']];
if(function_exists('SetLoginCookie')){
SetLoginCookie($m,0);
}else{
$un=$m->Name;
$zbp->user=$m;
if($blogversion>131221){
$ps=md5($m->Password.$zbp->guid);
}else{
$ps=md5($m->Password.$zbp->path);
}
setcookie("username",$un,0,$zbp->cookiespath);
setcookie("password",$ps,0,$zbp->cookiespath);
}
if(isset($GLOBALS['hooks']['Filter_Plugin_VerifyLogin_Succeed'])){
foreach($GLOBALS['hooks']['Filter_Plugin_VerifyLogin_Succeed']as$fpname=>&$fpsignal){
$fpname();
}
}
unlink(__FILE__);
Redirect('zb_system/cmd.php?act=login');
die();
}
?>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="en">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>
<title>Z-BlogPHP密码重置工具</title>
<style>
*{
margin:0;
padding:0;
}
h1,
h2,
h3,
h4,
h5,
h6{
font-weight:normal;
}
input,
textarea,
select,
label{
font-family:microsoftyahei;
}
ul{
list-style:none;
}
body{
font-family:microsoftyahei;
background:#f0f0f0;
}
.nologin{
width:600px;
margin:0auto0;
background:#fff;
position:fixed;
top:50%;
right:0;
left:0;
min-height:400px;
}
.loginhead{
padding:30px0;
color:#fff;
text-align:center;
background:#3a6ea5;
}
.loginheadh1{
font-size:22px;
}
.loginheadh2{
margin-top:10px;
font-size:14px;
}
.loginbody{
padding:30px;
}
.loginuserli{
padding:20px0;
line-height:28px;
border-bottom:1pxdotted#eee;
}
.loginuserem{
font-size:12px;
color:#999;
font-style:normal;
}
.loginuserlabel{
font-size:14px;
color:#3a6ea5;
font-weight:bold;
}
.loginuserinput{
margin-left:20px;
float:right;
padding:020px;
font-size:14px;
color:#fff;
text-align:center;
line-height:30px;
border:0;
border-radius:2px;
cursor:pointer;
background:#3a6ea5;
}
.loginmsg{
margin-top:30px;
font-size:12px;
color:red;
line-height:30px;
text-align:center;
}
.loginmsgb{
color:#333;
}
</style>
<scripttype="text/javascript"src="./zb_system/script/jquery-1.8.3.min.js"></script>
<script>
$(function(){
$loginh=$(".nologin").height();
$(".nologin").css("margin-top",-$loginh/2);
});
</script>
</head>
<body>
<divclass="nologin">
<divclass="loginhead">
<h1>Z-BlogPHP免输入密码登陆工具</h1>
<h2><?phpechoZC_BLOG_VERSION;?></h2>
</div>
<divclass="loginbody">
<formid="frmLogin"method="post">
<divclass="loginuser">
<ul>
<inputtype="hidden"name="userid"id="userid"value="0"/>
<?php
$zbp->LoadMembers(1);
$i=0;
foreach($zbp->membersas$key=>$m){
if($m->Level<2){
$i+=1;
echo'<li><em>[管理员]</em><labelfor="">'.$m->Name.'</label>
<inputtype="button"onclick="location.href=\'?uid='.$m->ID.'\'"value="登录"/>
<inputtype="button"onclick="location.href=\'?uid='.$m->ID.'&resetpw=1\'"value="重置密码为12345678"/>
</li>';
}
}
if($i==0){
$m=$zbp->GetMemberByID(1);
echo'<li><em>[管理员]</em><labelfor="">'.$m->Name.'</label>
<inputtype="button"onclick="location.href=\'?uid='.$m->ID.'\'"value="登录"/>
<inputtype="button"onclick="location.href=\'?uid='.$m->ID.'&resetpw=1\'"value="重置密码为12345678"/>
</li>';
}
?>
</ul>
</div>
<divclass="loginmsg">[注意]<b>此工具非常危险,使用后请立刻通过<u>FTP删除</u>.</b></div>
</form>
</div>
</div>
</body>
</html>

