POST TIME:2018-01-08 14:06
前言:随着织梦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就可!