您当前的位置:首页 > CMS常见问题 > phpcms常见问题 >

phpcms创建一个隐藏的超级管理员账户

0

我在日常的网站建设工作中,经常会碰到这样的一个问题:在网站建设完成并交付给客户管理之后过了一段时间,客户打电话过来说网站后台登陆密码忘记了,由于phpcms建站程序没有内置的后台忘记密码功能,所以导致客户在遗忘后台登陆密码的时候不知所措,而更糟糕的情况是,当初你并没有新添加一个管理员帐号给客户使用,而是把phpcms建站程序默认的后台管理帐号(用户名和密码均为phpcms)交给客户使用(有时客户要求),出现这种情况只能从网站的数据库上修改密码,可以参考:phpcms忘记后台登陆密码解决办法

在数据库上进行密码修改是相当麻烦,而且需要懂一些基础的数据库SQL语法,所以,我采取了另一种措施来预防在客户忘记后台登陆密码的时候只能从数据库上操作,那就是在后台创建一个隐藏的超级管理员账号,在忘记密码的时候可以用这个隐藏的账号登陆后台把其他帐号的密码重新设置,这样就不用登陆数据库上进行修改密码了。首先,需要在后台添加一个管理员帐号,如下图所示:

phpcms添加管理员

用户名为:boxnetwork的帐号是新添加的,同样也设置了不能删除该账号(打开文件/caches/configs/system.php,将新添加的帐号的序号写入admin_founders变量的值里,这个变量保存的是网站创始人ID,多个ID逗号分隔),更进一步,让这个管理帐号boxnetwork隐藏起来不显示,打开文件/phpcms/modules/admin/admin_manage.php,将第21行代码:

$infos = $this->db->listinfo('', '', $page, 20);

修改为以下代码,原理很简单,就是过滤掉用户名为boxnetwork的帐号。

//这里相应地修改为你创建的用户名
$infos = $this->db->listinfo('username!="boxnetwork"', '', $page, 20);

此时,再登陆到后台查看管理员列表的时候,用户名为boxnetwork的帐号就隐藏看不到了。

顶部中部底部