织梦解决虚拟主机空间商禁用fsockopen函数

随着织梦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就可!