ecshop中的$user对象

Posted Solo李

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ecshop中的$user对象相关的知识,希望对你有一定的参考价值。

  ecshop的程序中,有个对象:$user,它是用来处理用户信息的。比如登录、注册,还有就是用来和第三方管理通讯和共享资源的。在user.php中,有一条$user->login($username,$password)。这里的$user是来自includes/init.php中的 $user = &init_users();

  而init_user函数又在lib_common.php中,他里面有一段非常经典的代码。

  

include_once(ROOT_PATH.‘includes/modules/integrates/‘.$GLOBALS[‘_CFG‘][‘integrate_code‘] . ‘.php‘);
$cfg = unserialize($GLOBALS[‘_CFG‘][‘integrate_config‘]); 
$cls = new $GLOBALS[‘_CFG‘][‘integrate_code‘]($cfg);

 

默认情况下 $GLOBAL[‘_CFG‘][‘integrate_code‘]的值为:ecshop

  这是在、includes、lib_common.php 文件的function load_config() 函数中定义的: 

1 if (empty($arr[‘integrate_code‘])) 
2 { 
3     $arr[‘integrate_code‘] = ‘ecshop‘; // 默认的会员整合插件为 ecshop 
4 }

  默认情况下,调用会员整合插件是ecshop。那么这包含的文件就是:‘includes/modules/integrates/ecshop.php‘, 打开ecshop.php这个文件,你会发现它继承了‘includes/modules/integrates/integrate.php‘ 

  integrate.php里面有很多的方法:login()登陆,edit_user()编辑用户资料,add_user()注册用户。 使用各自系统整合时,就需要重写 integrate 基类,然后调用这个重写后的类。

以上是关于ecshop中的$user对象的主要内容,如果未能解决你的问题,请参考以下文章

ECShop全系列版本远程代码执行漏洞复现

Ecshop数据表结构

ECSHOP 数据库结构说明 (适用版本v2.7.3)

ECSHOP 数据库结构说明 (适用版本v2.7.3)

ECshop 数据库表结构

Ecshop 2.x_3.x SQL注入和代码执行漏洞复现和分析