ecshop程序里的 表 ecs_users 通过数据库手动修改用户的账号密码,修改之后不生效,发现用修改之前的密码和修改后的密码都不能登录,后来发现 esc_user 表里保存用户密码的方式一开始的确是MD5 但是还需要将字段 ec_salt 设置为0,不然的登录不生效
后台手动修改管理员密码也是一样
Ecshop这款程序虽然目前已经开发的相当成熟了,可是后台的一些功能还是比较烂,原因只有一个那就是它属于开源程序,很多站长们使用这款程序搭建商城,可是由于自己的疏忽不小心忘记了账号密码,这时候再想登陆到后台去就需要重新找回账号和密码了,根据后台的提示通过邮箱找回,似乎基本是一个摆设,几乎没有站长朋友会使用此功能找回后台的账号和密码。然而这款程序的加密手法也不是一般的md5加密,所以还是有些小麻烦的。不过无忧小编同事已经写了两篇找回后台账号密码的方法仅供参考如下:
1)ECSHOP找回网站超级管理员密码的二种方法
2)如何利用代码实现修改ECSHOP后台的管理员和密码
小编仔细阅读了这两篇文章,主要就是讲了两种方法,一种就是通过登录PHP空间的数据库去修改数据库的中存放后台账号密码的数据表,第二种就是通过写好的PHP执行文件修改后台账号密码。这两种方法都可以实现,不过从效率上而言站长朋友们肯定都会想用最快最简单的方法找到后台的账号密码。那么小编还是建议直接登录数据库去修改。可是在数据库中修改后台的账号密码后很多站长朋友反映还是登陆不上去,那么这是什么原因呢?小编今天总结分析后得到的原因涉及两个方面:第一密码修改密码也就是password值的时候涉及MD5加密的问题。第二就是ecs_salt忽略了这个关联字段值。小编先截图来详细分析下:
登陆phpmyadmin后找到管理员数据表都会看到ecs_admin_user。在编辑的时候很多人都在password和ec_salt这两个字段上出了问题。
第一:如果新的密码不是加密后32位字符串,例如:123456,那么久需要先在函数这一列选中md5,然后再后面输入123456. 最后找到ec_salt勾选并清空它的值。最后执行。
第二:如果是使用的md5加密后的32位字符串,例如:0192023a7bbd73250516f069df18b500 在password这一函数列就不需要选择md5 直接在后面填写这个字符串密码。然后找到ec_sqlt清空值。最后执行。
以上两个有个共同点那就是ec_salt这个字段的值必须清空掉。否则密码修改了也是无效的无法登陆到网站的后台。原因就是ec_salt值与post的密码进行二次md5加密进行验证的。小编特意写此总结希望可以帮到那些疑惑的站长朋友们。最后感谢一直支持小编的站长们