Discuz教程网

[插件制作] Discuz!X3.1 1122补丁 微信通信冲突的解决方案

[复制链接]
authicon dly 发表于 2013-11-28 13:46:36 | 显示全部楼层 |阅读模式
抛砖引玉.. 其他大神请果断犀利改进.
if($_SERVER['REQUEST_METHOD'] == 'POST' || $_GET['echostr']) {
    define('APPTYPEID', 127);
    define('CURSCRIPT', 'plugin');
    define('DISABLEXSSCHECK', true);   // 禁用 _xss_check
    define('DISCUZROOT', substr(dirname(__FILE__), 0, -42));
    chdir(DISCUZROOT);

    $_GET['id'] = 'singcere_wxpublic';

    require './source/class/class_core.php';

    $discuz = C::app();
    $cachelist = array('plugin', 'diytemplatename');

    $discuz->cachelist = $cachelist;
    $discuz->init();

    define('CURMODULE', 'singcere_wxpublic');

    $_G['siteurl'] = substr($_G['siteurl'], 0, -43);
    $_G['siteroot'] = substr($_G['siteroot'], 0, -43);

    include DISCUZ_ROOT.'./source/plugin/singcere_wxpublic/singcere_wxpublic.inc.php';
} else {
    echo 'Access Denied';
}


思路是 插件中提供独立PHP脚本. 禁用掉xss检查后, 再include插件逻辑.  
缺点是 部分application初始化的变量可能会造成错误取值. 请自行排查.




上一篇:商品帖子传图显示错误
下一篇:京东、腾讯等大公司更换域名的背后!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 03:13

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表