如何重置找回phpcms管理员密码
如果你不是站长,没有操作数据库的权限,请联系站长给重置。
如果你是站长,有操作数据库的权限,给出以下解决方法:
方法一(适用于有php编程基础的网友):
总的来说,找到phpcms的后台密码加密原理,仿照此原理对你要重置的新密码字符串进行处理,然后将处理后的密码串覆盖数据库中原密码串。具体操作是,首先找到/phpcms/modules/admin/index.php中的login()方法,找到大约61行有如下一句程序:
$password = md5(md5(trim((!isset($_GET['card']) ? $_POST['password'] : $_SESSION['card_password']))).$r['encrypt']);
这边是后台密码的加密方式,简单来说就是将你输入的密码进行一次md5加密后连接一个随机字符串($r['encrypt']),然后再进行一次MD5加密。其中$_GET['card']是如果你开启密保卡时的传参,$r['encrypt']是随机字符串保存在数据库admin数据表中的encrypt字段中,$password是生成的密码保存在admin数据表中的password字段。
好的,知道它的加密原理后,假设你要把密码重置为123456,然后我们随机生成一个6位字符串,加入是3e4r5t,那么我们可以重建一个php文件,输入:
echo md5(md5("123456").'3e4r5t');
运行它,你将得到新的密码加密后应该保存在数据库的“加密串”,我们将这个新的加密串拷贝覆盖数据库admin数据表中管理员账号的password字段,然后把随机串‘3e4r5t’覆盖到encrypt字段,保存,燃烧用密码123456就可以登录了,密码重置完成!
方法二(傻瓜操作,不需要编程基础):
我在iphpcms中已经对此问题在视频教程(站长杂谈栏目)中给出过详细的演示说明可以参考,具体是在来到iphpcms中“重置后台密码”工具页面,输入你想要重置的新密码,提交后会自动给你生成方法一种提到的“加密串”和“随机串”,只需要直接拷贝覆盖数据库admin表中的password字段和encrypt字段,无需自己研究加密原理和编写程序。
PS:更多关于phpcms内容管理系统的使用用二次开发可以参考官方提供的使用手册以及iphpcms的视频教程。