随着DEDECMS使 用的站长越来越多,黑客也开始活动起来。争对DEDECMS的开源特性,很多能利用的漏洞,都被黑客利用从而进行攻击等。做为站长或服务器idc商,肯定 是想办法解决这些隐患的!所以很多idc空间商,都把虚拟主机用户的php.ini中的fsockopen函数给禁用了!导致dedecms无法采集。前几天给一个客户安装程序的时候就碰到此问题。让客户和空间商沟通无果。本站搜搜源码结合多年的php开发经验,找不到了解决办法。如下:

第一:原理我们是把fsockopen函数替换成pfsockopen函数,因为pfsockopen可保持keep-alive连接,使黑客无法持续性的攻击。

第二:涉及到的dedecms文件有如下:

dedecms5.6有如下:

include/dedehttpdown.class.php
include/dedecollection.func.php:
include/mail.class.php
dede/module_main.php
dede/api_ucenter.php


dedecms5.7有如下:

include/dedehttpdown.class.php
include/sphinxclient.class.php
include/dedecollection.func.php:
include/mail.class.php
ask/data/scores.inc.php:
dede/module_main.php
dede/api_ucenter.php
plus/bshare.php


找到这些文件把其中的fsockopen替换成pfsockopen就可以了。

有的人会说这么多文件一个一个的寻找。太累了。呵呵。别着急。本站提供相当方便快速替换方法。

大家下载editplus工具使用在文件夹中查找替换就可以了。

安装好editplus软件,选择编辑——在文件中替换——选择好DEDEcms目录,指定fsockopen替换成pfsockopen就可!

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。