当前位置: 首页 > 编程笔记 >

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

严远
2023-03-14
本文向大家介绍fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法,包括了fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法的使用技巧和注意事项,需要的朋友参考一下

一:近期黑客利用程序漏洞注入后使用 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

 类似资料:
  • SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。 首先,我们来构造一个最简单的纯文本邮件: from email.mime.text import MIMEText msg = MIMEText('hello, send

  • SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。 首先,我们来构造一个最简单的纯文本邮件: from email.mime.text import MIMEText msg = MIMEText('hello, send

  • 主要内容:实例,使用 Ruby 发送 HTML 邮件,实例,发送带附件的邮件,实例SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 Ruby提供了 Net::SMTP 来发送邮件,并提供了两个方法 new 和 start: new 方法有两个参数: server name 默认为 localhost port number 默认为 25 start 方法有以下参数:

  • SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。 Python创建 SMTP 对象语法如下: import smtplib smtpObj = smtplib.SMTP( [host

  • 本文向大家介绍phpmailer在服务器上不能正常发送邮件的解决办法,包括了phpmailer在服务器上不能正常发送邮件的解决办法的使用技巧和注意事项,需要的朋友参考一下 phpmailer本身是一个很不错的开源邮件类,也非常的易用简单,就是偶尔会出现程序上传到服务器上不能发送邮件的情况,在之前也有同学问过我这个问题,当时的时候总是不以为然,今天终于让我碰上了,用phpmailer 在本地测试正常

  • 本文向大家介绍CodeIgniter使用smtp服务发送html邮件的方法,包括了CodeIgniter使用smtp服务发送html邮件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了CodeIgniter使用smtp服务发送html邮件的方法。分享给大家供大家参考。具体如下: codeigniter 提供的email类,用于发送邮件, wiki地址: http://codeigni