我防CC攻击的做法

简介:
[前言]最近朋友的网站受到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."\n";
    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放入硬防的白名单中。



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/199083,如需转载请自行联系原作者

相关文章
|
2月前
|
Shell Linux 网络安全
linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
24 0
|
云安全 安全 网络安全
80和443端口的作用以及遇到CC攻击该怎么办
80和443端口都是用于网站业务,那么这两个端口是有什么区别呢?
|
云安全 缓存 监控
什么是CC攻击,有什么办法防御CC攻击
CC攻击的前身是一个名为Fatboy的攻击程序,而之所以后来人们会称之为CC,是因为DDoS攻击发展的初期阶段,绝大部分DDoS攻击都能被业界熟知的“黑洞”(Collapsar,一种安全防护产品)所抵挡,CC攻击的诞生就是为了直面挑战黑洞,所以Challenge Collapsar(挑战黑洞).
什么是CC攻击,有什么办法防御CC攻击
|
19天前
|
缓存 负载均衡 安全
每天一技:全面了解CC攻击和防范策略
CC攻击是一种模拟真实用户请求,导致服务器资源耗尽的网络攻击。攻击者利用工具生成木马,控制大量“肉鸡”对目标网站发起恶意请求,使服务器CPU过载,网站无法正常服务。特点是请求有效、IP分散、数据包真实、针对网页。常见类型包括直接攻击、肉鸡攻击、僵尸攻击和代理攻击。判断CC攻击可通过观察CPU usage飙升和系统日志异常。大型网站如某度、Google因代码规范、硬件配置高、缓存策略、严格防火墙和负载均衡等技术能有效防御。防御措施包括IP封禁、人机验证、静态化页面、更改Web端口、日志分析等,或使用SCDN产品提供全面防护,包括Web攻击防护、DDoS防护、合规性保障、流量管理和安全可视化功能。
|
10月前
|
开发框架 网络协议 .NET
网站被CC攻击的症状?什么是CC攻击? 110.42.2.0 43.248.189.0
网站被CC攻击的症状?什么是CC攻击? 110.42.2.0 43.248.189.0
|
安全 搜索推荐 网络安全
使用Discuz! X3.5 自带参数防御CC攻击以及原理,修改Discuz X 3.5 开启防CC攻击后,不影响搜索引擎收录的方法
使用Discuz! X3.5 自带参数防御CC攻击以及原理,修改Discuz X 3.5 开启防CC攻击后,不影响搜索引擎收录的方法
437 0
|
缓存 网络协议 安全
网络安全-DoS与DDoS攻击原理(TCP、UDP、CC攻击等)与防御
网络安全-DoS与DDoS攻击原理(TCP、UDP、CC攻击等)与防御
783 0
|
域名解析 人工智能 安全
CC攻击有哪些类型,遇到CC攻击有哪些办法防护?
近年来,网络攻击频发,目前网络攻击的种类有很多,其中最为常见的就是DDOS攻击;DDOS攻击类型种类繁多,其中CC攻击是其中最为特殊,那么CC攻击是什么,都有哪攻击些类型呢?
|
域名解析 搜索推荐 网络协议
CC攻击和DDoS攻击的区别是什么
CC攻击和DDoS攻击的区别是什么
|
网络协议 安全 网络安全
记一次变异CC攻击解析
记一次变异CC攻击解析
记一次变异CC攻击解析