最近一个客户使用的OneThink程序,后台密码忘记无法登录,官方默认没有找回密码的选项,只能想办法修改数据库字段来完成。

获取md5字符串

密码是通过特定的key字段 + 密码再经过md5加密的,因此要获取最终加密后的字符串,在站点目录下新建一个password.php文件,写入如下内容。

<?php
    include_once './Application/User/Conf/config.php';
    function think_ucenter_md5($str, $key = 'ThinkUCenter'){
        return '' === $str ? '' : md5(sha1($str) . $key);
    }
    echo think_ucenter_md5($_GET['password'], UC_AUTH_KEY);
?>

重置密码

然后访问http://host/password.php?password=[你的新密码],获取加密后的字符串并记录下来。

打开xxx_ucenter_member这个表替换数据库字段,然后使用新密码登录即可。其中xxx是您自己的表前缀。

另一个办法

参考网站迁移以后找不到密码的问题绕过密码登录,然后新建一个用户,再将之前的用户禁用或删除即可。

此文参考了:修改密码插件