西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

解决ecshop会员找回密码无法使用的BUG

时间:2015-02-18 23:26来源:未知 作者:好模板 点击:
使用ecshop最新版会员 找回密码并重置新密码后无法使用新密码登陆。 分析结果: ecshop密码原则上使用一次性md5加密,当注册新用户成功后观察数据库密码字段,确实为md5值 而当用户第

使用ecshop最新版会员 找回密码并重置新密码后无法使用新密码登陆。

分析结果:

ecshop密码原则上使用一次性md5加密,当注册新用户成功后观察数据库密码字段,确实为md5值

而当用户第一次登陆,ecshop做了一次非常牛逼的动作,判断用户数据行是否存在ec_salt, 如果不存在则生成一个ec_salt并重写密码!

就是说,你注册时写入数据库的密码和登陆后的密码值发生了改变。以后再次登陆时,使用ec_salt值与post的密码进行二次md5加密进行验证

之处在于,当你使用密码找回时,其只是简单降密码字段重置为一次性md5, 注意,此时ec_salt已存在值

用户使用新密码,旧的ec_salt(salt加密方式)进行登陆,wtf,当然不能登陆

解决办法:

本没打算细看其程序底层,仅仅在includes/modules/integrates/ecshop.php line 170行,增加了,ec_salt=''

强制在其登陆时重置ec_salt.即可

(责任编辑:好模板)
顶一下
(1)
25%
踩一下
(3)
75%
------分隔线----------------------------