程序员人生 网站导航

ECSHOP 找回密码无法使用

栏目:综合技术时间:2015-01-09 08:22:40

症状:使用ecshop 找回密码并重置新密码后没法使用新密码登陆

分析结果:

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

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

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

牛逼的地方在于,当你使用密码找回时,其只是简单降密码字段重置为1次性md5, 注意,此时ec_salt已存在值

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

解决办法:

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

强迫在其登陆时重置ec_salt....

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐