新闻中心
消费主张 IT业界 今日观察 消费警示 曝光台 热点专栏 奇闻趣事 一语惊人 专利之窗 动态备忘
领券购
生活必须 吃货优选 学习艺术 旅游出行 手机电脑 电子电器 热血男装 热销女装
图片中心
美女欣赏 风景欣赏 艺术欣赏 实物图片 制作美图 生活图片
下载中心
手机软件 语文数学 常用软件 红绿软件 信息社政 音体美合 科学自然 英语外语
映讯频道
浓缩电影 邻国热剧 一技之长 艺术无界 教育教学 纪录之窗 战争片 动作片 情感片 国内片 喜剧片 恐怖片 科幻片 大陆剧 港澳台剧 动漫片 明星云集 欧美剧集
聚划算
数码产品 服装服饰 家电家具 装潢装饰 商旅游玩 生活必备 二手特色 健康保健
FLASH频道
MTV类 运动游戏 益智游戏 女生游戏 休闲游戏 电脑运用 有声故事 有声艺术
社会专题
美文园地 制作教程 历史天空 游山玩水 美食天下 科技科幻 天文地理 时尚酷玩 健康保健 寻医问药 有书有道 农村特色 幽默笑话 汽车电子 星新一代 教育咨询 天下军事 硬件网络 黑白社会 靓丽女人 代码效果 免费资源 便民服务 办公达人 玄幻奇幻 软件技术
关闭
当前位置:首页 → 社会专题 → 硬件网络
点拨如何对抗CC攻击

最近朋友的网站受到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放入硬防的白名单中.

≡ 提示:输入修改代码都可运行!
3
酒精度
72
顶一下
相关阅读
内容加载中……