Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 虚拟主机、合租服务器禁用fsockopen函数,SMTP邮件不正常的解决办法

[复制链接]
hixinqin 发表于 2011-11-1 00:22:44 | 显示全部楼层 |阅读模式
本帖最后由 hixinqin 于 2011-11-1 22:16 编辑

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

通用解决方法:
找到程序里的 fsockopen 函数,替换为:pfsockopen,即可解决所有问题,两个函数的区别在于 pfsockopen 保持 keep-alive,使得黑客无法进行 连接数攻击。

已知使用 fsockopen 函数的程序文件路径(在fsockopen 前加 p, 即fsockopen 修改为 pfsockopen  即可 ):

Discuz X2  安装提示不支持fsockopen:
将 /include/install_var.php  文件里的
$func_items = array(‘mysql_connect’, ‘fsockopen‘, ‘gethostbyname’, ‘file_get_contents’, ‘xml_parser_create’);
替换为:
$func_items = array(‘mysql_connect’, ‘pfsockopen‘, ‘gethostbyname’, ‘file_get_contents’, ‘xml_parser_create’);
即可正常安装。
X2全部包含fsockopen的文件(如果用邮件只修改邮件即可,其他文件都是自动判断 pfsockopen):

\api\manyou\Manyou.php
\api\trade\api_alipay.php
\install\include\install_function.php
\install\include\install_lang.php
\install\include\install_var.php
\source\admincp\admincp_addons.php
\source\admincp\admincp_checktools.php
\source\admincp\admincp_cloud.php
\source\admincp\admincp_misc.php
\source\admincp\cloud\cloud_doctor.php
\source\class\class_image.php
\source\class\class_sphinx.php
\source\class\block\xml\block_xml.php
\source\function\function_connect.php
\source\function\function_core.php
\source\function\function_filesock.php
\source\function\function_importdata.php
\source\function\function_mail.php      邮件相关
\source\function\function_plugin.php
\source\include\portalcp\portalcp_upload.php
\source\language\lang_admincp_cloud.php
\source\module\forum\forum_ajax.php
\source\module\misc\misc_manyou.php
\uc_client\client.php
\uc_client\lib\sendmail.inc.php         邮件相关
\uc_client\model\misc.php
\uc_server\install\func.inc.php
\uc_server\install\lang.inc.php
\uc_server\lib\sendmail.inc.php         邮件相关
\uc_server\model\misc.php

如果你在后台邮件测试提示错误,不必担心,测试邮箱还是会有邮件收到的!
 楼主| hixinqin 发表于 2011-11-1 11:42:48 | 显示全部楼层
记得大家一直困惑这个问题,现在提出解决方案,希望给予反馈
回复

使用道具 举报

乱是佳人 发表于 2011-11-1 16:56:52 | 显示全部楼层
X2 修改3个邮件相关参数以后依然提示邮件发送错误
回复

使用道具 举报

 楼主| hixinqin 发表于 2011-11-1 19:12:24 | 显示全部楼层
乱是佳人 发表于 2011-11-1 16:56
X2 修改3个邮件相关参数以后依然提示邮件发送错误

你得首先确认你的主机是否支持pfsockopen函数
回复

使用道具 举报

舞剑大少 发表于 2011-11-1 19:15:46 | 显示全部楼层
顶起,这个  必须有。
回复

使用道具 举报

乱是佳人 发表于 2011-11-1 20:05:34 | 显示全部楼层
hixinqin 发表于 2011-11-1 19:12
你得首先确认你的主机是否支持pfsockopen函数

虚拟主机 询问过了 支持 服务器商的技术支持也叫我这么改,但是我改完了还是不能发邮件,现在还在研究咋回事
回复

使用道具 举报

ColinRain 发表于 2011-11-1 20:09:20 | 显示全部楼层
我的还支持邮件...
回复

使用道具 举报

xiaoyuwxz 发表于 2011-11-1 20:39:22 | 显示全部楼层
直接全部改过来,然后安装站点,添加好邮件参数,测试发送,提示错误,但邮箱能收到一封测试邮件,不象原来可以提示收两封,
然后注册用户测试,能收到邮件。看来直接改还是有用的。
回复

使用道具 举报

乱是佳人 发表于 2011-11-1 20:50:18 | 显示全部楼层
本帖最后由 乱是佳人 于 2011-11-1 20:57 编辑

弱弱的问一下   X2中 类似于_fsockopen @fsockopen  dfsockopen 等等这些字符需要在fsockopen前面+P么
回复

使用道具 举报

乱是佳人 发表于 2011-11-1 21:12:08 | 显示全部楼层
{:soso_e109:}流泪跪求指点啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 09:21 , Processed in 0.031484 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表