prestashop后台管理密码的更改

以前斯鹭说他网站的后台密码不记得了,问我有什么办法。一想,这还不简单。几分钟搞定,于是把FTP密码发过来,传个shell上去,打开mysql管理功能,查看login.php文件,发现管理员表是ps_employee,于是直接把passwd改为123456的MD5值,跑去登录,不行。开始看源代码,login.php文件的52 53行
        $employee = new Employee();
        $employee = $employee->getByemail($email, $passwd);
查看/classes/employee.php文件,getbyemail函数
    public function getByemail($email, $passwd = NULL)
    {
         if (!Validate::isEmail($email) OR ($passwd != NULL AND !Validate::isPasswd($passwd)))
             die(Tools::displayError());

        $result = Db::getInstance()->getRow('
        SELECT *
        FROM `'._DB_PREFIX_.'employee`
        WHERE `active` = 1
        AND `email` = /''.pSQL($email).'/'
        '.($passwd ? 'AND `passwd` = /''.Tools::encrypt($passwd).'/'' : ''));
……(略)
    }

得知道,passwd用了encrypt加函数加密。于是查看classes/tools.php,找到encrypt函数
    static public function encrypt($passwd)
    {
        return md5(pSQL(_COOKIE_KEY_.$passwd));
    }

原来在密码前加了COOKIE_KEY这个常量的值,于是在config/setting.inc.php中找到COOKIE_KEY这个常量的值,加上自己要设置的密码,再转成MD5密码,然后再更改表中的passwd值,就搞定了


不过现在出现不能上传图片的问题不能解决。
MS官网上别人也出现过
http://www.prestashop.com/forums/viewthread/19656//_

应该是服务器的原因,具体原因不明
本文出自 “n3tl04d's Blog-技术成就梦想” 博客,请务必保留此出处http://n3tl04d.blog.51cto.com/89255/167084

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值