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中使用Oracle数据库(6)
Oct 09 PHP
PHP操作文件方法问答
Mar 16 PHP
php实现mysql数据库备份类
Mar 20 PHP
Session保存到数据库的php类分享
Oct 24 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 PHP
Linux系统下安装PHP7.3版本
Jun 26 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
深入理解PHP中的global
2014/08/19 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
微信小程序 页面跳转如何实现传值
2017/04/05 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
js数组去重的方法总结
2019/01/18 Javascript
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
python中__call__方法示例分析
2014/10/11 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
python 写一个水果忍者游戏
2021/01/13 Python
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
中科软笔试题和面试题
2014/10/07 面试题
关于运动会的稿件
2014/02/02 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
自查自纠工作总结
2014/10/15 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
初三英语教学反思
2016/02/15 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电
Redis过期数据是否会被立马删除
2022/07/23 Redis