Zen Cart 网站忘记后台密码的几种解决办法

摘 要

本文介绍 Zen Cart 网站在安装或搬家后遇到忘记后台密码的几种解决办法。

Zen Cart 网站在安装或搬家后,如果遇到后台密码忘记的情况,那么此时该如何处理?下面给大家推荐以下几个方法:

Zen Cart 网站忘记后台密码的几种解决办法

1、通过后台重置密码

若网站后台配置好邮箱参数,同时服务器支持发送邮件,可以通过后台输入管理员邮箱来重置密码。Zen Cart 系统会将新密码发送到你设置的管理邮箱,如果服务器无法发送邮件,则此办法就行不通,可以通过下面的其他办法来重置后台登陆密码。

2、通过PHPMYADMIN修改密码

我们知道 Zen Cart 1.5.4 版本前的通用密码加密法式为:

即通过随机生成一个2位数的$salt,然后通过$salt加上密码明文来组合,经过md5加密产生加密后的密文与$salt储存到数据库表,密文的形式如:58d5245269af1ac78d42d38997b57f27:88 [密码明文为:12345678]
通过MD5加密虽然速度快,但是安全性低,现在是云计算时代,MD5不再适合单独用来加密密码,通常跟其他如SHA1或SHA2来组合或多次MD5加密来提高密文的安全性。
而在 Zen Cart 1.5.4 开始(包含 Zen Cart 1.5.4 全版本和 1.5.5 全版本及未发布正式版的 Zen Cart 1.6.0版本),除了通过MD5加密外,增加了SHA256加密,SHA256加密方法如下:

只是加密方式变为SHA256而已,且$salt不再是随机的2位数,直接SHA256加密以64位数来跟明文密码组合再SHA256加密,加密后的密文形式如: 84eb43fbfeb4261369439bca5fd0301a78f1ba00e32d8db4cb7f264d55946ab3:ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f [密码明文为:12345678] 这样子即使密文泄露,也很难通过密文破解来得到真实密码,大大提高了网站的安全性(前提是密码不是弱口令如:123456,记住:还有暴力破解,所以一定要设置稍微复杂点的密码,同时不定期更换密码)。 也就是说 Zen Cart 1.5.4 以后的版本,管理密码有两种存储方式,Zen Cart 会自动通过密文来判断是用了何种加密方式。
现在知道了 Zen Cart 的加密原理,我们可以利用 Phpmyadmin 进入对应的 Zen Cart 数据库,找到admin这个数据表(有前缀的话则对应你的前缀_admin这个表)直接修改管理员密码: admin_name为用户名 admin_pass为密码 将admin_pass这个字段修改为:58d5245269af1ac78d42d38997b57f27:88 [密码明文为:12345678] 。如果你用的 Zen Cart 内核为1.5.4(含)以上的版本,可以将admin_pass字段修改为: 84eb43fbfeb4261369439bca5fd0301a78f1ba00e32d8db4cb7f264d55946ab3:ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f [密码明文为:12345678] 注意不能有空格,然后浏览器进入后台目录,利用对应的用户名和密码:12345678来登陆后台!也可以通过Phpmyadmin进入Zen Cart数据库执行MySql命令来更新密码,命令格式如下:

3、修改登陆验证文件

当以上2种方法都不适用的时候,就可以通过修改 Zen Cart 的登陆验证文件,路径为后台目录下的login.php文件,找到:

把if ($message == false)里面的false修改成true,保存覆盖。

这样你在后台登陆的时候随便输一个密码就可以登录到后台,然后在后台修改一个新的密码就可以了当修改密码之后,需要把刚刚修改的代码再还原,因为如果不还原的话,别人也可以随便输一个密码就可以进入你的后台。

至此,通过以上的几种方法就可以解决忘记 Zen Cart 网站后台密码,如果你还有更好的办法,可以联系我们,一起交流分享。