微赞开发有感

Posted 梁大师

tags:

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

微赞的功能很棒,但是看了部分源码后,发现一些问题。

先说下目录结构

http://域名/app/index.php?i=7&c=entry&m=ewei_shopv2&do=mobile&r=goods.detail&id=148&mid=388&from=groupmessage

如上

app表示是根目录下的app目录,这里的东西大多是和手机端有关

i=7应该是表示第7个公众号

c=entry表示要加载东西了。

defined(\'IN_IA\') or exit(\'Access Denied\');
load()->model(\'module\');

$eid = intval($_GPC[\'eid\']);
if(!empty($eid)) {
    $entry = module_entry($eid);
} else {
    $entry = array(
        \'module\' => $_GPC[\'m\'],
        \'do\' => $_GPC[\'do\'],
        \'state\' => $_GPC[\'state\'],
        \'direct\' => 0
    );
}
$moduels = uni_modules();
if (empty($moduels[$entry[\'module\']])) {
    message(\'您访问的功能模块不存在,请重新进入\');
}
if(empty($entry) || empty($entry[\'do\'])) {
    message(\'非法访问.\');
}
$_GPC[\'__entry\'] = $entry[\'title\'];
$_GPC[\'__state\'] = $entry[\'state\'];
$_GPC[\'state\'] = $entry[\'state\'];
$_GPC[\'m\'] = $entry[\'module\'];
$_GPC[\'do\'] = $entry[\'do\'];

define(\'IN_MODULE\', $entry[\'module\']);
$_W[\'current_module\'] = $moduels[$entry[\'module\']];
$site = WeUtility::createModuleSite($entry[\'module\']);
if(!is_error($site)) {
    $method = \'doMobile\' . ucfirst($entry[\'do\']);
    exit($site->$method());
}
exit();

这个的最后是表示要加载什么

http://域名/app/index.php?i=7&c=entry&m=ewei_shopv2&do=mobile&r=goods.detail&id=148&mid=388&from=groupmessage

会找到addons下ewei_shopv2下的mobile的good中的detail

至于后面就是页面的具体参数

这个是按这么来的,但是我缺在上述查找中发现找到的页面不对。。。。

而且ewei_shopv2的php源码是加密的。。。。

js

也找到这种

eval(function(p, a, c, k, e, d) {
    e = function(c) {
        return c.toString(36)
    };
    if (!\'\'.replace(/^/, String)) {
        while (c--) {
            d[c.toString(a)] = k[c] || c.toString(a)
        }
        k = [function(e) {
            return d[e]
        }];
        e = function() {
            return \'\\\\w+\'
        };
        c = 1
    };
    while (c--) {
        if (k[c]) {
            p = p.replace(new RegExp(\'\\\\b\' + e(c) + \'\\\\b\', \'g\'), k[c])
        }
    }
    return p
}(\'a([\\\'0\\\',\\\'8\\\'],1(0,8){b 2={};2.c=1(6){0.e("d/f",{3:6.3},1(7){$("#5").4(\\\'.q-n-g\\\').o();$("#5").4(\\\'9\\\').p(\\\'m\\\',7.l.9).h()},i,j)};k 2});\', 27, 27, \'core|function|modal|goodsid|find|posterimg|params|ret|tpl|img|define|var|init|commission|json|qrcode|group|show|false|true|return|result|src|cell|remove|attr|fui\'.split(\'|\'), 0, {}));

这个解压后的,但是是加密的。。。。

define([\'core\', \'tpl\'], function(core, tpl) {
    var modal = {};
    modal.init = function(params) {
        core.json("commission/qrcode", {
            goodsid: params.goodsid
        }, function(ret) {
            $("#posterimg").find(\'.fui-cell-group\').remove();
            $("#posterimg").find(\'img\').attr(\'src\', ret.result.img).show()
        }, false, true)
    };
    return modal
});

解压后。。。。。

可以看出

微赞这个源码的管控是多么的。。。。。

可以自行百度js eval解密

 

以上是关于微赞开发有感的主要内容,如果未能解决你的问题,请参考以下文章

微赞微擎手动增加模块数据库表结构详解

商业直播崛起 行业领头羊微赞直播有何杀手锏?

如何解决近期微赞或微擎有些模块提示不是官方安装的解决办法

读构建之法第十七章有感(作业四)

微擎 微赞等系统源码模块若干问题解决方法及说明汇总

读《梦断代码》第2章有感