[转载]解决虚拟主机空间商禁用fsockopen 函数DEDECMS织梦不自动采集的方法

今天在给客户制作完网站后需要批量添加内容,所以就用到了织梦自动采集功能,这样省去了人工手动添加时间,但是采集规则写好后怎么测试都不好用,各种找问题问百度我的规则设置完全没有问题,但是就是解决不了,在就要放弃采集的时候,看到了一篇文章,是服务器函数设置问题,fsockopen函数需要开启一下就可以了,喜出望外啊。


下面说一下我的解决方法,我购买的是万网阿里云主机,阿里云默认是会把pfsockopen 函数禁用的,进入主机管理里面开启一下就可以了,如下图:

66.png

那么为什么大部分空间商会把 fsockopen 函数呢?

现在使用织梦 DedeCms 网站的站长越来越多,黑客也开始活动起来。争对 DEDECMS 的开源特性,很多能利 用的漏洞,都被黑客利用从而进行攻击等。做为站长或服务器 idc 商,肯定是想办法解决这些隐患的!所 以很多 idc 空间商, 都把虚拟主机用户的 php.ini 中的 fsockopen 函数给禁用了! 导致 dedecms 无法采集。

以上是通过修改主机的解决方法,但是如果你购买的是非阿里云主机,很多IDC商是没有自定义设置的,这样需要你改动一下程序了,如下步骤:

解决办法。(注意修改文件前记得备份)如下:

第一: 原理我们是把 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 就可以了。


以上是织梦自带采集功能不好用的2中解决方法,希望对你有用。


Эта статья взята из http://www.chieng.cn, воспроизведена, пожалуйста, укажите!
打赏 支付宝打赏 微信打赏

评论

Top