服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > prestashop教程 >

更改prestashop后台管理密码

时间:2016-12-13 10:41来源:未知 作者:最模板 点击:
prestashop后台管理员表是ps_employee,于是直接把passwd改为123456的MD5值,跑去登录,不行。开始看源代码,login.php文件的52 53行 $employee = new Employee(); $employee = $employee-getByemail($email, $passwd); 查

prestashop后台管理员表是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值,就搞定了

(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容