点拨如何对抗CC攻击
>首页 -> 社会专题 -> 硬件网络 2010-07-08 来源: 作者: 【】 浏览:956

最近朋友的网站受到CC攻击,因为我对防cc攻击也不是很了解,所以我也不敢一下子给他什么好的答案.今天,我就写了下面的资料,看能不能给他,和大家一个好的方案.

引用

<?php

if (isset($_SERVER)){

$realip = $_SERVER[HTTP_X_FORWARDED_FOR];

}

else

{

$realip = getenv(“HTTP_X_FORWARDED_FOR”);

}

if($realip<>”"){

$remoteip=$_SERVER['REMOTE_ADDR'];

log_ip($remoteip,$realip);

}

function log_ip($remote_ip,$real_ip)

{

$temp_time = date(“y-m-d G:i:s”);

$temp_result = $temp_time.”\t”.$real_ip.”\t”.$remote_ip.” ”;

if(!$fhandle=fopen(“cc_log.txt”,”a+”)){

print “error”;

exit;

}

fwrite($fhandle,$temp_result);

fclose($fhandle);

}

?>

此段代码作用:

将代理访问的真实IP记录到日志中,以便排查分析。

以下是cc_log.txt的内容(此代码生产是因我通过CC攻击软件攻击生产的)

引用

Time             Real_ip       Remote_ip    <=此行是我自己添加的

09-09-05 13:50:47      122.144.131.72 60.248.212.230

09-09-05 13:50:47      122.144.131.72 60.248.212.230

09-09-05 13:50:47      122.144.131.72 60.248.212.230

09-09-05 13:50:48      122.144.131.72 60.248.212.230

09-09-05 13:50:48      122.144.131.72 60.248.212.230

09-09-05 13:50:48      122.144.131.72 60.248.212.230

09-09-05 13:50:49      122.144.131.72 60.248.212.230

09-09-05 13:50:49      122.144.131.72 219.146.172.91

09-09-05 13:50:49      122.144.131.72 219.146.172.91

09-09-05 13:50:49      122.144.131.72 219.146.172.91

09-09-05 13:50:49      122.144.131.72 219.146.172.91

09-09-05 13:50:49      122.144.131.72 219.146.172.91

09-09-05 13:50:49      122.144.131.72 60.248.212.230

09-09-05 13:50:49      122.144.131.72 60.248.212.230

09-09-05 13:50:50      122.144.131.72 219.146.172.91

09-09-05 13:50:50      122.144.131.72 219.146.172.91

09-09-05 13:50:50      122.144.131.72 219.146.172.91

09-09-05 13:50:50      122.144.131.72 219.146.172.91

09-09-05 13:50:50      122.144.131.72 219.146.172.91

09-09-05 13:50:51      122.144.131.72 60.248.212.230

在仅仅有4秒的时间内,就从真实IP 122.144.131.72 以代理IP(60.248.212.230,219.146.172.91)来访问我这台服务器,可见这台真实客户端

是有问题的,这时,我们应该用防火墙(iptables)禁止掉这些真实IP,以使他们的请求,在入口就Deny掉。

引用

<?php

session_start();

$timestamp = time();

$cc_nowtime = $timestamp ;

if (session_is_registered(‘cc_lasttime’)){

$cc_lasttime = $_SESSION['cc_lasttime'];

$cc_times = $_SESSION['cc_times'] + 1;

$_SESSION['cc_times'] = $cc_times;

}else{

$cc_lasttime = $cc_nowtime;

$cc_times = 1;

$_SESSION['cc_times'] = $cc_times;

$_SESSION['cc_lasttime'] = $cc_lasttime;

}

if (($cc_nowtime – $cc_lasttime)<5){

if ($cc_times>=10){

header(sprintf(“Location: %s”,’http://127.0.0.1′));

exit;

}

}else{

$cc_times = 0;

$_SESSION['cc_lasttime'] = $cc_nowtime;

$_SESSION['cc_times'] = $cc_times;

}

?>

这段代码的作用:

同一会话,如果在5秒钟内,刷新了10次就将响应指向到本地服务(http://127.0.0.1)

[感言]个人认为,第一段代码可以与应用一起发布,并定期对cc_log.txt 进行分析,以便保护服务.而第二段代码,在第一段代码近期出现过多代理请求,此时可以将此段代码放入到应用中,起到一定的防CC攻击(因为会话过多也会消耗服务器资源的,大家应当灵活应用).当然 ,如果有硬防是更好的.不过,我曾在网上看到硬防看起后,会造成部分蜘蛛无法正常抓取,不过,大家可以通过http日志,将蜘蛛ip整理出来,交给相关的技术人员,以使其IP放入硬防的白名单中.

您看到此篇文章时的感受是:
Tags: 责任编辑:佚名
免责申明: 除原创及很少部分因网文图片遗失而补存外,本站不存储任何有版权的内容。你看到的文章和信息及网址索引均由机器采集自互联网,由于时间不同,内容可能完全不同,请勿拿本网内容及网址索引用于交易及作为事实依据,仅限参考,不会自行判断者请勿接受本站信息,本网转载,并不意味着赞同其观点或证实其内容的真实性.如涉及版权等问题,请立即联系管理员,我们会予以更改或删除,保证您的权利.对使用本网站信息和服务所引起的后果,本网站不作任何承诺.
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论:0条】 【关闭】 【返回顶部
更多
上一篇揪出网络监控者的详细步骤 下一篇ps界面字体太小怎么办?win10系统..
密码: (新用户注册)

最新文章

图片主题

热门文章

推荐文章

相关文章

便民服务

手机扫描

空间赞助

快速互动

论坛互动
讨论留言

有事联系

有哪个那个什么的,赶紧点这里给DOVE发消息

统计联系

MAIL:gnlt@Dovechina.com
正在线上:

版权与建议

任何你想说的