cc攻击是ddos攻击的一种,ddos cc防御

  cc攻击是ddos攻击的一种,ddos cc防御

  网页配置

  超文本传送协议(Hyper Text Transport Protocol的缩写)模块

  !网址重写

  add type="UrlRewriter .RewriterHttpModule,URL rewriter " name=" URL rewriter "/

  !防类似军械服务局副局长军火服务司副司长攻击

  add type="UrlRewriter .DDosAttackModule,URL重写器" name=" DDosAttackModule "/

  /http模块

  代码:

  ?[复制到剪贴板]查看代码爪哇岛

  使用系统;

  使用系统网页。

  使用系统。集合。泛型;

  使用系统。收藏。专门化;

  使用系统。计时器;

  命名空间UrlRewriter

  ///摘要

  ///阻止攻击互联网协议(互联网协议)地址的回应

  ////摘要

  公共类DosAttackModule : IHttpModule

  无效的IHttpModule .Dispose() { }

  无效的IHttpModule .初始化(http应用程序上下文)

  语境begin请求=new EventHandler(context _ begin请求);

  私有静态字典字符串,short _ IpAdresses=新字典字符串,short();

  私有静态堆栈string _ Banned=新堆栈字符串();

  私有静态Timer _ Timer=创建计时器();

  私有静态Timer _ banned Timer=CreateBanningTimer();

  private const int BANNED _ REQUESTS=1;//规定时间内访问的最大次数

  私有const int REDUCTION _ INTERVAL=1000;//1 秒(检查访问次数的时间段)

  私有const int RELEASE _ INTERVAL=5 * 60 * 1000;//5 分钟(清除一个禁止互联网协议(互联网协议)的时间段)

  私有void context_BeginRequest(对象发送方,EventArgs e)

  string ip=HttpContext .当前。请求。userhostaddress

  如果(_禁止。包含(ip))

  HttpContext .当前。回应。状态码=403;

  HttpContext .当前。回应。end();

  检查IP地址(IP);

  ///摘要

  ///检查访问互联网协议(互联网协议)

  ////摘要

  私有静态void CheckIpAddress(字符串ip)

  如果(!_地址ContainsKey(ip)) //如果没有当前访问互联网协议(互联网协议)的记录就将访问次数设为一

  _ IP addresses[IP]=1;

  else if(_ IP addresses[IP]==BANNED _ REQUESTS)//如果当前互联网协议(互联网协议)访问次数等于规定时间段的最大访问次数就拉于"黑名单"

  _禁止。推送(IP);

  _地址。移除(IP);

  else //正常访问就加次数一

  _ IP地址[IP];

  #区域计时器

  ///摘要

  ///创建计时器,从_地址减去一个请求。

  ////摘要

  私有静态计时器CreateTimer()

  timer timer=GetTimer(REDUCTION _ INTERVAL);

  计时器ElapsedEventHandler(重新创建的时间);

  返回计时器;

  ///摘要

  ///创建定时器,消除一个禁止的互联网协议(互联网协议)地址

  ////摘要

  ///返回/返回

  私有静态计时器CreateBanningTimer()

  timer timer=GetTimer(RELEASE _ INTERVAL);

  计时器Elapsed=delegate { _Banned .pop();};//消除一个禁止互联网协议(互联网协议)

  返回计时器;

  ///摘要

  ///创建一个时间器,并启动它

  ////摘要

  ///param name=interval 以毫秒为单位的时间间隔/param

  私有静态定时器GetTimer(整数区间)

  Timer Timer=new Timer();

  计时器。区间=区间;

  计时器. start();

  返回计时器;

  ///摘要

  ///减去从集合中的每个互联网协议(互联网协议)地址的请求

  ////摘要

  私有静态空的时间重复(对象发送方,ElapsedEventArgs e)

  foreach(字符串键in _ IpAdresses .按键)

  _ IP地址[key]-;

  if(_ I addresses[key]==0)

  _地址。移除(键);

  #结束区域

  }

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: