又双叒叕忘记密码了
很久没登录,不出意外又忘了密码。搜了一圈,全是教你手动改 typecho_users 表的,不仅操作繁琐,由于 Hash 加密版本问题还不见得适合。
分享一个通过 Typecho 内置 Hash 方法重置密码的脚本。不操作数据库,直接调用程序内核,确保 100% 成功。
操作步骤:
将以下代码保存为 reset-pwd.php。上传至网站根目录。
访问 https://你的域名/reset-pwd.php?k=123,即可。
增加了安全访问 ?k=123,防止忘记删除还有被别人扫描并访问。
自动识别:变量 $user 填数字就是改 UID,填字符串就是改 用户名,一行代码自动切换。
【重要!重要!重要!】 用完一定记得立即删除该脚本。重置为简单密码后,立即登录修改为强密码,或者直接重置为一个强密码(生成密码工具)。最后不要长期保留任何运维脚本在公网目录。
<?php
/**
* Typecho 1.2.1 重置管理员密码脚本
* 用完请立即删除!
*/
<?php
include 'config.inc.php';
$key = '123'; // 访问时加的后缀,如 ?k=123
$user = 1; // 这里填 UID (如 1) 或 用户名 (如 'admin')
$pass = '123456'; // 新密码
if (($_GET['k'] ?? '') !== $key) die('Key Error');
$db = Typecho_Db::get();
$col = is_numeric($user) ? 'uid' : 'name';
$pw = Typecho_Common::hash($pass);
$db->query($db->update('table.users')->rows(['password' => $pw])->where("$col = ?", $user));
//echo "Success! New Password: $pass. DELETE ME NOW!";--- EOF ---
订阅本站:feed
声明:博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!