网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   DedeCMS (https://www.0058.net/forumdisplay.php?f=71)
-   -   dedecms后台(反应特别慢)点击就卡住的最终解决办法 (https://www.0058.net/showthread.php?t=4712)

Sabine Parish 2014-05-01 05:34 PM

dedecms后台(反应特别慢)点击就卡住的最终解决办法
 
dede后台(反应慢)菜单不显示,dede后台系统首页打开慢故障可能好多朋友都遇到过。在网上搜索没有找到相关的解决方法。经过排查发现问题出在 index_testenv.php,DedeCMS安全提示执行缓慢造成的,具体是哪段代码引起的问题暂时没有搞清楚,现阶段的解决办法是屏蔽相关代 码:
目录dede/templets/的index_body.htm文件中的第18行至第35行部分屏蔽
Code:

<script type="text/javascript">
function showMore()
{
        $("#allInfo").toggle();
        $("#allInfoTD").toggle();
}

$(function()
{
  $.get("index_testenv.php",function(data)
  {
        if(data !== '')
        {
                $("#__testEvn").html(data);
        }
  })
})
</script>

另一个方法:
DEDECMS后台【模块管理】打开很慢的原因,DEDECMS会自动获取dedecms官网的内容,然后进行模块列表重新下载。其实这个也算一个后门吧~

很多网站的站长总是受到dedecms官网QQ的聊天说要交钱,很黑的感觉。

屏蔽后门其实很简单,用文本编辑软件或者dreamweaver在整个网站PHP的源码里面搜索“dedecms.com”然后都屏蔽掉。




保险的做法:

打开文件 /include/dedemodule.class.php 方法 GetModuleUrlList() 里面的如下代码改掉:

Code:

if(file_exists($cachefile) && (filemtime($cachefile) + 60 * 30) > time())
                        // 30分钟本地缓存一次
                        $remotelist = file_get_contents($cachefile);
                } else {
                        $del = new DedeHttpDown();
                        $del->OpenUrl($url);
                        $remotelist = $del->GetHtml();
                        PutFile($cachefile, $remotelist);
                }

改成如下(防止他自动30分钟自动下载更新,很多空间商是禁止网站自动从服务器端下载的,有时候下载会误认为是在采集,因为dedecms的服务器超级的慢!):
Code:

                //if(file_exists($cachefile) && (filemtime($cachefile) + 60 * 30) > time())
                //default use cache
                if(file_exists($cachefile) && $_GET['upcache'] != 'yes')
                {
                        // 30分钟本地缓存一次
                        $remotelist = file_get_contents($cachefile);
                } else {
                        $del = new DedeHttpDown();
                        $del->OpenUrl($url);
                        $remotelist = $del->GetHtml();
                        PutFile($cachefile, $remotelist);
                }

第二个要修改的地方:/dede/module_main.php 这里dede设置了一个统计的函数,每次安装或者卸载模块,都会发送一次统计信息,很无语,注释掉就可以。

函数SendData() 屏蔽掉,在开头加上 return FALSE;
Code:

function SendData($hash = '',$type = 1)
{
    return FALSE;//开头就返回,屏蔽掉
    if(!empty($hash)){
        global $cfg_basehost;
        $str = "basehost=".$cfg_basehost."&hash=".$hash."&type=".$type;
        $fp = fsockopen('www.dedecms.com',80,$errno,$errstr,30);
        if(!$fp)
        {
            return FALSE;
        }else{
            fputs($fp, "POST http://www.dedecms.com/plugin.php HTTP/1.1\r\n");
            fputs($fp, "Host: www.dedecms.com\r\n");
            fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
            fputs($fp, "Content-length: ".strlen($str)."\r\n");
            fputs($fp, "Connection: close\r\n\r\n");
            fputs($fp, $str."\r\n\r\n");
            fclose($fp);
        }
    }else{
        return FALSE;
    }
}

为什么要修改这里,一方面如果发送统计信息,dedecms会统计哪些网站在使用dedecms,dedecms官方就自动统计网站的流量(从网站,alexa排名)。如果他认为该网站盈利很大,就会主动来联系你要求缴纳一定的费用,每年缴纳多少。第二个方面就是dedecms自身的服务器速度特别慢,如果不屏蔽掉这些,那么网站后台的访问都会有问题!


All times are GMT +8. The time now is 04:07 AM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.