忘记PbootCMS后台用户账号密码时进行重置resetpw.php

news/2024/11/16 13:32:38/文章来源:https://www.cnblogs.com/hwrex/p/18401047
<?php
/*** @copyright (C)2016-2099 Hnaoyun Inc.* @license This is not a freeware, use is subject to license terms* @author XingMeng* @email hnxsh@foxmail.com* @date 2018年11月17日*  重置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 lang="zh">
<head><meta charset="utf-8"><title>PbootCMS-密码重置工具</title>
</head>
<body><form class="mb-5" action=""  method="post"><p>配置文件:<input type="text" name="config" value="/config/database.php"  placeholder="请填写数据库配置文件路径"></p><p>用 户 名 :<select name="username"><?phpforeach($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>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/793260.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PbootCMS怎么修改管理员密码

管理员由于比较特殊,在系统用户管理中并不能修改,那怎么修改admin的密码呢? 其实每个用户登录后在右上角都可以修改自己的密码,如下图:扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿…

卸载IBM Installation Manager的失败提示及解决方式

1、问题描述如上图所示,按常规方式卸载 IBM Installation Manager 失败,并出现相关提示信息。 在卸载IBM Installation Manager之前,必须卸载由它安装的所有产品。2、原因分析安装 IBM 的相关软件时,还附带安装了 License Key Administrator ,因此需要先卸载 License Key …

pbootcms网站后台登陆时验证码不显示

PbootCms验证码图片显示,常见于阿里云虚拟主机中。这个问题主要是阿里云虚拟主机的配置问题。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理…

Utuntu安装nginx并部署Vue

一、linux下载Ningx 1.下载nginx相关依赖包 apt-get install gccapt-get install libpcre3 libpcre3-devapt-get install zlib1g zlib1g-devsudo apt-get install opensslsudo apt-get install libssl-dev新建nginx的安装目录cd /optmkdir nginxcd nginx3.通过wget下载nginx安装…

pbootcms程序后台登录页面修改的方法

找到根目录的文件夹apps / admin / view / default /里面的index.html上用编辑器(下面有编辑器下载地址)打开这个文件,找到对于的文字和链接修改。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承…

pbootcms手机访问不解决办法

如果PbootCMS网站在手机设备上访问时出现问题,比如显示404错误或者布局错乱等问题,可以采取以下措施来解决: 1. 明确站点结构 首先需要确定你的站点是采用哪种结构:PC + WAP 结构:即分别有电脑版和手机版两个版本。 响应式设计:一个版本自动适应不同设备。 单一PC版:只有…

9.30~9.5 9.6~9.8小集训

有困难自己解决,没困难创造困难8.30~9.1 给开学考试起了个一调的名 不懂我考这玩意的意义( 又不是放假前没考过 总不能是考验我两个月不学 whk 还能记住多少吧 😅 我高考前也给我俩月的假? 包摆烂的 语文英语先放一边 数学看到三角函数就给跳了,结果五道大题空了三道 😋…

关于PMOS与NMOS电流公式的方向问题

相关教材多提及NMOS,这里主要探讨PMOS电流方向的理解记忆。 首先理解大信号下的公式:对于NMOS,可以发现ID与电压的参考方向为由D(G)+S-,一致则公式前无需负号。而对于PMOS,不妨将NMOS的推导过程视为一个传函,对于NMOS认为输入为电子,对于PMOS认为输入为空穴,则等效于认…

从 SSM 到 Mamba2,Mamba 发展回溯

本文是 Mamba 阅读第一篇文章,本来想从三个问题出发(1)不同 SSM 模型的区别是什么?(2)Transformer 和 SSM 可以等效吗?什么情况下可以等效?(3)很多实验表明 Mamba1 和 Mamba2 并不是单纯替代关系[1],Mamba2 相比 Mamba1 的变化是什么?即 SSM 部分、Transformer 部分 以及…

CF1307(模拟赛记录)

比赛页面偶然发现一道做过的 G;C 的罚时:没开 longlong,谨记。 然后一个小时没想出 E ……E 题面: 在一年成功的牛奶生产后,Farmer John 奖励他的奶牛们它们最喜欢的美味的草。 在田里有 \(n\) 个单位的排成一行的草,每个单位的草有甜味 \(s_i\)。Farmer John 有 \(m\) 头…