记录一次被 Typecho1.1 密码折磨的历史
侧边栏壁纸
  • 累计撰写 4 篇文章
  • 累计收到 3 条评论

记录一次被 Typecho1.1 密码折磨的历史

xiaolu
2021-09-29 / 0 评论 / 3 阅读 / 正在检测是否收录...

今天突然登录不进去 Typecho 后台了,在尝试了所有可能之后,决定去数据库里直接修改,但是百度到的 99% 的答案都是那种 MD5 直接加密的,这种方式是 Typecho1.1 之前采用的,现在修改成了基于 PasswordHash 的加密,还好找到了正确的解决方案。

Typecho1.1以上版本忘记管理员密码的修改方式
Typecho 1.1版本忘记密码如何重设

到网站根目录下新建文件 test.php,粘贴如下代码到文件中,保存

<?php
require 'var/PasswordHash.php';
$a = new PasswordHash(8,true);
echo $a->HashPassword(123456);
?>

在浏览器地址栏中输入 https://你的网站域名/test.php,可以看到类似如下的输出:

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /www/wwwroot/henrenx.cn/var/PasswordHash.php on line 36
$P$BTVMzrJXVsVbYjaCNAbg4nCFH2rvAS/

$P$BTVMzrJXVsVbYjaCNAbg4nCFH2rvAS/ (替换成你的) 粘贴到数据库 typecho_users 中的 password 字段(这里使用的是 phpmyadmin 工具,用其他工具连接数据库都可),更新后就可以登录了。用户名还是原来的用户名,不过密码变成了 123456 ,登陆进去后就可以再修改密码。

最终原因好像并不是我忘记了密码,因为我在尝试上述过程中也遭遇了多次失败,最后竟然是 修改登录名 成功的。具体原因无从查起,但是值得注意的是,用户名不要包含特殊字符,比如 $,@,#,我最终是改了用户名才成功的,当然密码也使用上述方法改了。

1

评论 (0)

取消