dz论坛使用tools修改创始人密码

本文介绍如何通过创建PHP文件并修改特定代码来更改Discuz论坛创始人的密码,默认登录密码为Zz123456,用户也可自定义。
摘要由CSDN通过智能技术生成

把下面是代码的代码内容复制然后创建一个php文件粘贴进去然后访问

【登录密码是Zz123456 也可以自己修改】
 

<?php
/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: tools.php 111 2013-03-18 02:43:43Z xujiakun $
 */

/**
 * 密码要求:1、必须且只能包含大写字母、小写字母、数字
 *           2、密码长度大于6
 * 修改下面的 $password = '',单引号中按照密码要求写入你的密码,举例 $password = 'DiscuzX3' ,注意:请不要把密码设置成 DiscuzX3,以免被人获知。
 */
$tpassword = 'Zz123456'; /*登录密码*/

/*************************************以下部分为tools工具箱的核心代码,请不要随意修改**************************************/

error_reporting(0);
define('TMAGIC_QUOTES_GPC', function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc());

define('TOOLS_ROOT', dirname(__FILE__).'/');
define('TOOLS_VERSION', 'Tools 3.0.0');
define('TOOLS_DISCUZ_VERSION', 'Discuz! X3.0');

$tools_versions = TOOLS_VERSION;
$tools_discuz_version = TOOLS_DISCUZ_VERSION;

if(!TMAGIC_QUOTES_GPC) {
        $_GET = taddslashes($_GET);
        $_POST = taddslashes($_POST);
        $_COOKIE = taddslashes($_COOKIE);
}

if (isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) ||  isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) {
        show_msg('您当前的访问请求当中含有非法字符,已经被系统拒绝');
}

if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST)) {
        $_GET = array_merge($_GET, $_POST);
}

$actionarray = array('index', 'setadmin', 'closesite', 'closeplugin', 'repairdb', 'restoredb', 'updatecache', 'login', 'logout');
$_GET['action'] = htmlspecialchars($_GET['action']);
$action = in_array($_GET['action'], $actionarray) ? $_GET['action'] : 'index';

if(!is_login()) {
        login_page();
        exit;
}

$t = new T();
$t->init();
$config = $t->config;

if($action == 'index') {
//首页
        show_header();
        print<<<END
        <p>欢迎使用 Tools 之 Discuz! 急诊箱功能!我们致力于为您解决 Discuz! 站点的紧急故障,欢迎各位站长朋友们使用。</p>
        <tr><td>
        <h5>适用版本:</h5>
        <ul>
                <li>{$tools_discuz_version}</li>
        </ul>
        <h5>主要功能:</h5>
        <ul>
                <li>重置管理员账号:将把您指定的会员设置为管理员</li>
                <li>开启关闭站点:  此处可以进行站点“关闭/打开”的操作</li>
                <li>一键关闭插件:  一键关闭应用中心开启的所有插件</li>
                <li>修复数据库:    对所有数据表进行检查修复工作</li>
                <li>恢复数据库:    一次性导入论坛数据备份</li>
                <li>更新缓存:      一键更新论坛的数据缓存与模板缓存</li>
        </ul>
        <h5>问题反馈:</h5>
        <p>    有关 Tools 工具箱的建议和问题,请反馈到 Discuz! 官方论坛安装使用区(<a href="http://www.discuz.net/forum-2-1.html" target="_blank">http://www.discuz.net/forum-2-1.html</a>),我们会对您的问题进行处理。提交问题时,请注明问题来源于 Discuz! 急诊箱。</p>
END;
        show_footer();

}elseif($action == 'setadmin') {
//找回管理员
        $t->connect_db();
        $founders = @explode(',',$t->config['admincp']['founder']);
        $foundernames = array();
        foreach($founders as $userid) {
                $sql = "SELECT username FROM ".$t->dbconfig['tablepre']."common_member WHERE `uid`='$userid'";
                $foundernames[] = mysql_result(mysql_query($sql, $t->db), 0);
        }
        $foundernames = implode($foundernames, ',');
        print_r($foundernames);
        $sql = "SELECT username FROM ".$t->dbconfig['tablepre']."common_member WHERE `adminid`='1'";
        $query = mysql_query($sql, $t->db) or dir(mysql_error());
        $adminnames = array();
        while($row = mysql_fetch_row($query)) {
                $adminnames[] = $row[0];
        }
        $adminnames = implode($adminnames, ',');
        
        if(!empty($_POST['setadminsubmit'])) {
                if($_GET['username'] == NULL) {
                        show_msg('请输入用户名', 'tools.php?action='.$action, 2000);
                }
                
                if($_GET['loginfield'] == 'username') {
                        $_GET['username'] = addslashes($_GET['username']);
                        $sql = "SELECT uid FROM ".$t->dbconfig['tablepre']."common_member WHERE `username`='".$_GET['username']."'";
                        $uid = mysql_result(mysql_query($sql, $t->db), 0);
                        $username = $_GET['username'];
                } elseif($_GET['loginfield'] == 'uid') {
                        $_GET['username'] = addslashes($_GET['username']);
                        $uid =         $_GET['username'];
                        $sql = "SELECT username FROM ".$t->dbconfig['tablepre']."common_member WHERE `uid`='".$_GET['username']."'";
                        $username = mysql_result(mysql_query($sql, $t->db), 0);
                }
                
                if($uid && $username) {
                        $sql = "UPDATE ".$t->dbconfig['tablepre']."common_member SET `groupid`='1', `adminid`='1' WHERE `uid`='$uid'";
                        @mysql_query($sql, $t->db);
                        if(!in_array($uid,$founders)) {
                                $sql = "REPLACE INTO ".$t->dbconfig['tablepre']. "common_admincp_member (`uid`, `cpgroupid`, `customperm`) VALUES ('$uid', '0', '')";
                                @mysql_query($sql, $t->db);
                        }
                } else {
                        show_msg('没有这个用户', 'tools.php?action='.$action, 2000);
                }
                
                $t->connect_db('ucdb');
                if($_GET['password'] != NULL) {
                        $sql = "SELECT salt FROM ".$t->ucdbconfig['tablepre']."members WHERE `uid`='$uid'";
                        $salt = mysql_result(mysql_query($sql, $t->db), 0);
                        $newpassword = md5(md5(trim($_GET['password'])).$salt);
                        $sql = "UPDATE ".$t->ucdbconfig['tablepre']."members SET `password`='$newpassword' WHERE `uid`='$uid'";
                        mysql_query($sql, $t->db);
                }
                if($_GET['issecques'] == 1) {
                        $sql = "UPDATE ".$t->ucdbconfig['tablepre']."members SET `secques`='' WHERE `uid`='$uid'";
                        mysql_query($sql, $t->db);
                }
                $t->close_db();
                show_msg('管理员找回成功!', 'tools.php?action='.$action, 2000);
                
        } else {
                show_header();
                echo "<p>现有创始人:$foundernames</p>";
                echo "<p>现有管理员:$adminnames</p>";
                print<<<END
                <form action="?action={$action}" method="post">
                <h5>{$info}</h5>
                <table id="setadmin">
                        <tr><th width="30%"><input class="radio" type="radio" name="loginfield" value="username" checked class="radio">用户名<input class="radio" type="radio" name="loginfield" value="uid" class="radio">UID</th><td width="70%"><input class="textinput" type="text" name="username" size="25" maxlength="40"></td></tr>
                        <tr><th width="30%">请输入密码</th><td width="70%"><input class="textinput" type="text" name="password" size="25"></td></tr>
                        <tr><th width="30%">是否清除安全提问</th><td width="70%">
                        <input class="radio" type="radio" name="issecques" value="1">是        
                        <input class="radio" type="radio" name="issecques" value="0" class="radio" checked>否</td></tr>
                </table>
                        <input type="submit" name="setadminsubmit" value="提   交">
                </form>
END;
                print<<<END
                <br/>
                恢复步骤: 
                重置管理员<br/>
                <ul>
                <li>选择用户名或者UID。</li>
                <li>输入用户名或者UID。</li>
                <li>如果需要重置密码,输入密码。</li>
                <li>如果需要清除安全提问,请在是否清除安全提问处选择是。</li>
                </ul>
                <br/>
                重置创始人<br/>
                <ul>
                <li>重置用户为创始人。</li>
                <li>修改config_global.php 中 \$_config[\'admincp\'][\'founder\'] = \'管理员的ID\',多个以半角逗号分割。</li>
                </ul>
END;
                show_footer();
        }

}elseif($action == 'closesite') {
//一键开关站点
        $t->connect_db();
        $sql = "SELECT svalue FROM ".$t->dbconfig['tablepre']."common_setting WHERE skey='bbclosed'";
        $bbclosed = mysql_result(mysql_query($sql, $t->db), 0);

        if(empty($bbclosed)) {
                $closed = '';
                $opened = 'checked';
        } else {
                $closed = 'checked';
                $opened = '';
        }
        $sql = "SELECT svalue FROM ".$t->dbconfig['tablepre']."common_setting WHERE `skey`='closedreason'";
        $closedreason = mysql_result(mysql_query($sql, $t->db), 0);
        if(!empty($_GET['closesitesubmit'])) {
                if($_GET['close'] == 1) {
                        $sql = "UPDATE ".$t->dbconfig['tablepre']."common_setting SET `svalue`='1' WHERE `skey`='bbclosed'";
                        mysql_query($sql, $t->db);
                        $sql = "UPDATE ".$t->dbconfig['tablepre']."common_setting SET `svalue`='tools.php closed' WHERE `skey`='closedreason'";
                        mysql_query($sql, $t->db);
                } else {
                        $sql = "UPDATE ".$t->dbconfig['tablepre']."common_setting SET `svalue`='0' WHERE `skey`='bbclosed'";
                        mysql_query($sql, $t->db);
                        $sql = "UPDATE ".$t->dbconfig['tablepre']."common_setting SET `svalue`='' WHERE `skey`='closedreason'";
                        mysql_query($sql, $t->db);
                }
                show_msg('关闭/打开站点操作成功,正在更新缓存...
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值