首页 > 运营 > 帮助中心 > 正文

让ecshop助理1.28完美支持ecshop v2.7.3

2019-10-16 21:43:33
字体:
来源:转载
供稿:网友
目前官方随着ECShop V2.73的发布也发布了相对应的EC助理1.30版。默认EC助理1.28也支持到ECShop V2.72,要想让EC助理1.28也支持到ECShop V2.73,那要了解ECShop V2.73在ECShop V2.72上都做了哪些改变。我就不兜圈子了。EC助理1.28下载,下载后请根据里面的文档和教程安装。
安装完成后我们按照教程连接我们ECShop V2.73网站时会直接抛出一个用户名或者密码错误的提示,这时打开上传到服务器上的接口目录assistant_utf8下的ecaService.php文件,在51行会看到下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
functioncheckLogin($username, $password)
{
    $username= base64_decode($username);
    $password= base64_decode($password);
       
    //$username = str_iconv(ECS_CHARSET, EC_CHARSET, $username);
    //$password = str_iconv(ECS_CHARSET, EC_CHARSET, $password);
       
    //return true;
   
    $sql= "SELECT user_id, user_name, password, last_login, action_list, last_login".
            " FROM ". $GLOBALS['ecs']->table('admin_user') .
            " WHERE user_name = '". $username. "' AND password = '". md5($password) . "'";
       
    $row= $GLOBALS['db']->getRow($sql);
    if($row)
    {
        returntrue;
    }else{
      returnfalse;        
    }  
}

修改这段代码之前,需要你到你网站数据库查看ecs_admin_user表中ec_salt这个字段的值,下面是我的这个表的截图:
让ecshop助理1.28完美支持ecshop v2.7.3
我的这个字段的值就是“5606”。那么来替换掉这段代码吧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
functioncheckLogin($username, $password)
{
    $username= base64_decode($username);
    $password= base64_decode($password);
       
    //$username = str_iconv(ECS_CHARSET, EC_CHARSET, $username);
    //$password = str_iconv(ECS_CHARSET, EC_CHARSET, $password);
       
    //return true;
   
         $sql= "SELECT user_id, user_name, password, last_login, action_list, last_login".
            " FROM ". $GLOBALS['ecs']->table('admin_user') .
            " WHERE user_name = '". $username. "' AND password = '". md5(md5($password).'5606') . "'";
               
    $row= $GLOBALS['db']->getRow($sql);
    if($row)
    {
        returntrue;
    }else{
      returnfalse;        
    }  
}

注意这段代码的5606要替换成你数据库中对应的值,操作之后EC助理1.28就能完美支持ECShop V2.73了,简单吧。来说下原理,ECShop V2.73得管理登录加密方式在之前的版本上做了改变,我们来看ECShop V2.73的管理员登录加密部分代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if(!empty($ec_salt))
    {
         /* 检查密码是否正确 */
         $sql= "SELECT user_id, user_name, password, last_login, action_list, last_login,suppliers_id,ec_salt".
            " FROM ". $ecs->table('admin_user') .
            " WHERE user_name = '". $_POST['username']. "'AND password = '" . md5(md5($_POST['password']).$ec_salt) . "'";
    }
    else
    {
         /* 检查密码是否正确 */
         $sql= "SELECT user_id, user_name, password, last_login, action_list, last_login,suppliers_id,ec_salt".
            " FROM ". $ecs->table('admin_user') .
            " WHERE user_name = '". $_POST['username']. "'AND password = '" . md5($_POST['password']) . "'";
    }

如果你还有什么操作上不明白的地方给我留言吧,最后啰嗦一句,建议如果有钱还是支持正版软件。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表