CDNFly防CC规则介绍

术语

  • 匹配器: 用来匹配用户的请求,可以匹配用户IP,Host,req_uri(带参数),uri(不带参数),user_agent和referer。一个匹配器可以有多个匹配项,添加多个匹配项时,此匹配器所有的匹配项都满足时,这个匹配器才为真。
  • 过滤器: 用来过滤用户请求,过滤器类型有req_rate(限制请求速率),js_jump(返回js跳转代码验证),temp_redirect(返回302跳转验证),cookie(返回cookie验证),captcha(返回验证码验证),slide(返回滑动条验证)。
  • 动作: 当请求无法通过过滤器时,执行相应的动作。动作包括iptables(使用iptables封锁请求),captcha(返回验证码验证,如果多次验证失败,则使用iptables封锁),slide(返回滑动条验证,当多次验证失败,则使用iptables封锁),exit_code(返回如403状态码)。
  • 规则组: 包含多个规则,按顺序应用规则,当请求应用了一个规则后,不再应用余下的规则。
  • 规则: 包含匹配器,过滤器和动作。

原理

用户预置了多个规则组,其中一个规则组设置为默认。规则组有多条规则。
执行流程
– CDNFly首先查看用户是否有设置rule_name变量,如果有,则使用此变量指向的规则组名称,否则使用默认的规则组
– 遍历此规则组的规则。取出一条规则,使用此规则中的匹配器匹配请求,如果匹配失败,继续取下一条规则
– 如果匹配器匹配成功,检查此IP是否在黑名单,如果在,执行此规则中的动作。否则,使用此规则的过滤器验证一次请求,当验证失败达到一定次数时,把此IP加入到黑名单。

标签:CDN 发布于:2019-11-05 08:28:38