【PB建站教程】pbootcms模板忘记后台密码怎么办?
时间: 2024-10-22 03:32:45 浏览次数:9
pbootcms网站常用的参数标签汇总、以及操作过程中的一些bug问题解决方法,pboot网站二开,以下龙腾飞网络科技-小吴在建站实操中笔记记录,pbootcms建站教程/pb网站建设教程 保存使用非常方便:【PB建站教程】pbootcms模板忘记后台密码怎么办?新建一个php文件,然后写入下面代码在浏览器直接访问访问该文件地址,然后按照页面

pbootcms网站常用的参数标签汇总、以及操作过程中的一些bug问题解决方法,pboot网站二开,以下龙腾飞网络科技-小吴在建站实操中笔记记录,pbootcms建站教程/pb网站建设教程 保存使用非常方便:


【PB建站教程】pbootcms模板忘记后台密码怎么办?


新建一个php文件,然后写入下面代码


在浏览器直接访问访问该文件地址,然后按照页面提示输入相关信息进行重置,此处填写的“数据库配置文件”用于重置工具连接数据,如果没有做过特殊改动,一般默认即可,然后输入要重置的账号和新密码,重置后一定要记得删除该工具,切记!

<?php
/**
 *  重置PbootCMS用户密码
 */
// 设置字符集编码、IE文档模式
header('Content-Type:text/html; charset=utf-8');
header('X-UA-Compatible:IE=edge,chrome=1');
// 设置中国时区
date_default_timezone_set('Asia/Shanghai');
// 引入配置文件
$db = require __DIR__.'/config/database.php';
//执行修改
if ($_POST) {
    // 数据库配置文件
    $db_path = __DIR__ . @$_POST@['config'];
//纠正路径
$db = require $db_path;
    // 检查配置文件是否存在
    if (! file_exists($db_path)) {
        die('数据库配置文件不存在,请检查路径是否填写正常!');
    }
    // 要重置的用户名
    $username = @$_POST@['username'];
    // 要设置的密码
    $password = @$_POST@['password'];
    if (! $username) {
        exit('需要重置密码的用户名不能为空!');
    }
    if (! $password) {
        exit('请输入需要设置的新密码!');
    }
    // 修改密码
    $sql = "UPDATE ay_user SET password='" . md5(md5($password)) . "' where username='$username'";
    if ($db['database']['type'] == 'sqlite' || $db['database']['type'] == 'pdo_sqlite') {
        $conn = get_sqlite(__DIR__ . $db['database']['dbname']);
        $result = $conn->exec($sql) or $conn->lastErrorMsg();
        if ($conn->changes()) {
            echo '恭喜您,重置成功!';
        } else {
            echo '不好意思,重置失败,请核对用户名!(sqlite)';
        }
    } else {
        $conn = get_mysql($db['database']);
        $result = $conn->query($sql) or mysqli_error($conn);
        if ($conn->affected_rows > 0) {
            echo '恭喜您,重置成功!';
        } else {
            echo '不好意思,重置失败,请核对用户名!(mysql)';
        }
    }
}
// 连接数据库,接受数据库连接参数,返回数据库连接对象
function get_sqlite($dbfile)
{
    if (extension_loaded('SQLite3')) {
        try {
            $conn = new SQLite3($dbfile);
            $conn->busyTimeout(15 * 1000); // 设置繁忙延迟时间
        } catch (Exception $e) {
            die("读取数据库文件失败:" . iconv('gbk', 'utf-8', $e->getMessage()));
        }
    } else {
        error('未检测到您服务器环境的SQLite3数据库扩展,请检查php.ini中是否已经开启该扩展!');
    }
    return $conn;
}
// 连接数据库,接受数据库连接参数,返回数据库连接对象
function get_mysql($cfg)
{
    if (! extension_loaded('mysqli')) {
        die('未检测到您服务器环境的mysqli数据库扩展,请检查php.ini中是否已经开启该扩展!');
    }
    // 优化>php5.3版本 在win2008以上服务器连接
    if ($cfg['host'] == 'localhost') {
        $cfg['host'] = '127.0.0.1';
    }
    $conn = @new Mysqli($cfg['host'], $cfg['user'], $cfg['passwd'], $cfg['dbname'], $cfg['dbport']);
    if (mysqli_connect_errno()) {
        die("连接数据库服务器失败:" . iconv('gbk', 'utf-8', mysqli_connect_error()));
    }
    $conn->set_charset('utf8'); // 设置编码
    return $conn;
}
// 获取用户名
$sql = 'select username from ay_user';
if ($db['database']['type'] == 'sqlite' || $db['database']['type'] == 'pdo_sqlite') {
$conn = get_sqlite(__DIR__ . $db['database']['dbname']);
$result = $conn->query($sql) or $conn->lastErrorMsg();
$rows = array();
while (! ! $row = $result->fetchArray(1)) {
if ($row) {
$out = new stdClass();
foreach ($row as $key => $value) {
$out->$key = $value;
}
$row = $out;
}
$rows[] = $row;
}
} else {
$conn = get_mysql($db['database']);
$result = $conn->query($sql) or mysqli_error($conn);
$rows = array();
if ($conn->affected_rows > 0) {
while (! ! $objects = $result->fetch_object()) {
$rows[] = $objects;
}
} 
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PbootCMS-密码重置工具</title>
</head>
<body>
<form action=""  method="post">
 <p>配置文件:<input type="text" name="config" value="/config/database.php"  placeholder="请填写数据库配置文件路径"></p>
 <p>用 户 名 :
 <select name="username">
 <?php
foreach($rows as $k=>$v){
echo "<option value='".$v->username."'>".$v->username."</option>";
}
 ?>
 </select>
 </p>
 <p>新 密 码 :<input type="text" name="password" placeholder="请输入新密码"> </p>
 <p><button type="submit" class="btn btn-info mb-2">提交</button></p>
</form>
</body>
</html>



友情链接: 知识付费 | EDU指南导航 | 小程序开发 | 上网行为管理 | 小程序开发公司 | 企业财务服务 |
Copyright©2011 Guangzhou Longtengfei Network Technology Co., Ltd. 广州龙腾飞网络科技有限公司 粤ICP备18029205号 XML地图 | 系统开发专题地图