如何防止 CC攻击

前段时间,我们做了一个新闻网站,SEO的很好,

日均IP2500,日均PV9000

然而这时候,就被人CC了,查看新闻 是需要访问数据库的,当人CC了,网站直接就垮掉了。把资源耗尽了。

这时候,我们就要用 缓存了,缓存两个小时,如下代码。

  [OutputCache(Duration = 7200)]

那么问题来了,发一篇文章,让在网站上显示出来,为啥没出来呢,因为这个内容 在读取的时候,还是从缓存中读取的。

这时候,我门可以把应用程序池 回收一下。当然我们添加新闻的时候,还有一个功能,定时发布。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一种可能的ASP代码,用于防止 CC 攻击: ```asp <% '设置防 CC 攻击的参数 maxRequestsPerSecond = 10 '每秒最多允许的请求次数 blockDurationInMinutes = 5 '需屏蔽的时间(分钟) ipBanList = Server.MapPath("ipBanList.txt") 'IP 黑名单文件路径 '获取客户端 IP 地址 dim clientIP, bannedIPs clientIP = Request.ServerVariables("REMOTE_ADDR") '读取 IP 黑名单文件 set fs = Server.CreateObject("Scripting.FileSystemObject") if fs.FileExists(ipBanList) then set file = fs.OpenTextFile(ipBanList, 1) bannedIPs = file.ReadAll file.Close else bannedIPs = "" end if '检查客户端 IP 是否在黑名单中 if InStr(bannedIPs, clientIP) > 0 then '客户端 IP 在黑名单中,拒绝请求 Response.Status = "403 Forbidden" Response.Write "Your IP address has been banned due to suspicious activity." Response.End else '客户端 IP 不在黑名单中,继续处理请求 '记录客户端请求时间 dim requestTime, requestCount requestTime = Session("lastRequestTime") requestCount = Session("requestCount") if requestTime = "" then '第一次请求,初始化 Session 变量 requestTime = Now() requestCount = 1 Session("lastRequestTime") = requestTime Session("requestCount") = requestCount else '非第一次请求,计算请求间隔时间和请求数量 timeDiffInSeconds = DateDiff("s", requestTime, Now()) if timeDiffInSeconds < 1 then timeDiffInSeconds = 1 '避免除数为 0 requestPerSecond = requestCount / timeDiffInSeconds if requestPerSecond > maxRequestsPerSecond then '请求过于频繁,需屏蔽客户端 IP bannedIPs = bannedIPs & clientIP & vbCrLf Session.Abandon set file = fs.OpenTextFile(ipBanList, 2, true) file.WriteLine bannedIPs file.Close Response.Status = "403 Forbidden" Response.Write "Your IP address has been banned due to suspicious activity." Response.End else '请求正常,更新 Session 变量 Session("lastRequestTime") = Now() Session("requestCount") = requestCount + 1 end if end if end if %> ``` 这段代码主要实现了以下功能: - 读取 IP 黑名单文件,检查客户端 IP 是否在黑名单中; - 记录客户端请求时间和请求数量; - 根据最大请求次数限制和请求间隔时间计算请求速率; - 如果请求过于频繁,将客户端 IP 加入黑名单文件并拒绝请求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值