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 相关文章推荐
自己前几天写的无限分类类
Feb 14 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
php中获取关键词及所属来源搜索引擎名称的代码
Feb 15 PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 PHP
PHP实现即时输出、实时输出内容方法
May 27 PHP
PHP读取汉字的点阵数据
Jun 22 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 PHP
PHP获取不了React Native Fecth参数的解决办法
Aug 26 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
实例讲解PHP验证邮箱是否合格
Jan 28 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
php构造函数实例讲解
2013/11/13 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
javascript闭包的高级使用方法实例
2013/07/04 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
python操作gmail实例
2015/01/14 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
python if not in 多条件判断代码
2016/09/21 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
HTML5应用之文件上传
2016/12/30 HTML / CSS
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
化工机械应届生求职信
2013/11/04 职场文书
物流管理专业职业生涯规划书
2014/01/06 职场文书
《猫》教学反思
2014/02/26 职场文书
《故乡》教学反思
2014/04/10 职场文书
研发工程师岗位职责
2014/04/28 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
个人融资协议书
2014/10/02 职场文书
2014年财政工作总结
2014/12/10 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle
Linux中各个目录的作用与内容
2022/06/28 Servers
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript