什么是CC攻击?如何判断网站是否被CC攻击?CC攻击怎么防御?( 二 )


 
2、数据缓存(内存级别,不要用文件)
对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索出,或通过计算得出后,最好将其放在缓存中,后续请求均可直接从缓存中取得数据,减轻数据库的检索压力和应用服务器的计算压力,并且能够快速返回结果并释放进程,从而也能缓解服务器的内存压力 。要注意的是,缓存不要使用文件形式,可以使用redis、mem—cached等基于内存的nosql缓存服务,并且与应用服务器分离,单独部署在局域网内 。局域网内的网络IO肯定比起磁盘IO要高 。为了不使局域网成为瓶颈,千兆网络也是有必要的 。
 
3、页面静态化
与数据缓存一样,页面数据本质上也属于数据,常见的手段是生成静态化的html页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,以及CDN节点的缓冲服务,均可以降低服务器端的数据检索和计算压力,快速响应结果并释放连接进程 。
 
4、用户级别的调用频率限制
不管服务是有登陆态还是没登陆态,基于session等方式都可以为客户端分配唯一的识别ID(后称作SID),服务端可以将SID存到缓存中 。当客户端请求服务时,如果没有带SID(cookie中或请求参数中等),则由服务端快速分配一个并返回 。可以的话,本次请求可以不返回数据,或者将分配SID独立出业务服务 。当客户端请求时带了合法SID(即SID能在服务端缓存中匹配到),便可以依据SID对客户端进行频率限制 。而对于SID非法的请求,则直接拒绝服务 。相比根据IP进行的频率限制,根据SID的频率限制更加精准可控,可最大程度地避免误杀情况 。
 
5、IP限制
最后,IP限制依然可以结合上述规则一起使用,但是可以将其前置至)JCb层的防火墙或负载均衡器上去做,并且可以调大限制的阈值,防止恶意访问穿透到应用服务器上,造成应用服务器压力 。
 
感谢您的阅读,加个关注不迷路~





推荐阅读