fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法


Posted in PHP onSeptember 20, 2015

一:近期黑客利用程序漏洞注入后使用 fsockopen 进行PHPDDOS 攻击,导致部分服务器不稳定,现在将危险函数 fsockopen 暂时禁用,部分程序功能可能有问题,以下列出已知问题及通用解决方法:

通用解决方法:
找到程序里的 fsockopen 函数,替换为:pfsockopen,即可解决所有问题,两个函数的区别在于 pfsockopen 保持 keep-alive,使得黑客无法进行 连接数攻击。
已知使用 fsockopen 函数的程序文件路径(在fsockopen 前加 p, 即fsockopen 修改为 pfsockopen 即可 )

二:服务器同时禁用了fsockopen pfsockopen,那么用其他函数代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的参数不同。
具体操作:
搜索程序中的字符串 fsockopen( 替换为 stream_socket_client( ,然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。
示例如下

修改前:

$fp = fsockopen($host, 80, $errno, $errstr, 30);

修改后:

$fp = stream_socket_client($host."80", $errno, $errstr, 30);
国内主流PHP网站涉及fsockopen函数的网站系统中的文件列表:
国内主流PHP网站涉及fsockopen函数的网站系统中的文件列表:

DEDECMS:
 

source\function\function_core.php  这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

uc_client\client.php  这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

uc_client\lib\sendmail.inc.php

uc_client\model\misc.php 这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

uc_server\install\func.inc.php 这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

uc_server\lib\sendmail.inc.php

uc_server\model\misc.php 这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

Discuz! 2.5:

source\function\function_core.php  这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

uc_client\client.php  这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

uc_client\lib\sendmail.inc.php

uc_client\model\misc.php 这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

uc_server\install\func.inc.php 这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

uc_server\lib\sendmail.inc.php

uc_server\model\misc.php 这个文件有2处fsockopen,另外的是pfsockopen,请注意区分

ecms(帝国):

e\class\class.smtp.php
 
ECSHOP:

admin\index.php

demo\includes\lib_updater.php

includes\cls_smtp.php

includes\cls_transport.php

includes\lib_base.php

includes\modules\payment\paypal.php

 
shopex:
 
core\api\include\api_utility.php

core\api\tools\1.0\api_b2b_1_0_tools.php

core\func_ext.php

core\lib\nusoap.php

core\lib\uc_client\client.php

instal\svinfo.php

plugins\passport\passport.ucenter.php

plugins\payment\pay.nochek.php

plugins\pay.paypal.php

plugins\pay.paypal.server.php

plugins\pay.paypal_cn.php
PHP 相关文章推荐
用PHP伪造referer突破网盘禁止外连的代码
Jun 15 PHP
php 什么是PEAR?
Mar 19 PHP
通过PHP修改Linux或Unix口令的方法分享
Jan 30 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
PHP页面间参数传递的四种方法详解
Jun 09 PHP
php打开远程文件的方法和风险及解决方法
Nov 12 PHP
php 判断网页是否是utf8编码的方法
Jun 06 PHP
php中文验证码实现方法
Jun 18 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
纯php生成随机密码
Oct 30 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 #PHP
使用PHPCMS搭建wap手机网站
Sep 20 #PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 #PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 #PHP
如何使用PHP对网站验证码进行破解
Sep 17 #PHP
浅谈php+phpStorm+xdebug配置方法
Sep 17 #PHP
PHP 9 大缓存技术总结
Sep 17 #PHP
You might like
Smarty模板快速入门
2007/01/04 PHP
基于php缓存的详解
2013/05/15 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
利用Python爬虫给孩子起个好名字
2017/02/14 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
python远程连接服务器MySQL数据库
2018/07/02 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
python取均匀不重复的随机数方式
2019/11/27 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
意大利在线药房:Farmacia Loreto Gallo
2019/08/09 全球购物
事业单位辞职信范文
2014/01/19 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
天河观后感
2015/06/11 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python