# 通用配置

这里是框加载运行的一些基本配置

# include-rule

类型: List<RobinRuleEnum>

默认: []

TIP

为了方便和自定义的策略区分先后, 如果配置的策略为"策略1, 策略2, 策略3", 则1/2/3的权重分别为"0/100/200", 权重越低则策略的优先级越高

用户自定义的策略可以依照次规律进行配置权重

应用校验的规则, 会依照顺序进行检测, 默认不启用任何规则

# resource

全局资源拦截器

# mode

类型: kim.nzxy.robin.enums.RobinModeEnum

默认: DEFAULT

Robin 资源配置, 优先级高于resource.include-patternsresource.exclude-patterns, 共三种:

GLOBAL		全部资源应用 Robin 检测
DISABLED	全部资源禁止 Robin 检测
DEFAULT		使用其它方式配置, 即resource.include-patterns和resource.exclude-patterns
1
2
3

# include-patterns

类型: List<String>

默认值: ["/**"]

默认拦截全部资源, 一般需要用户自己配置

# exclude-patterns

类型: List<String>

默认值: []

取消拦截的资源, 优先级高于resource.include-patterns, 一般用于验证码等不需要反爬的接口, 你也可以使用通过重写kim.nzxy.robin.filter.RobinInterceptor接口来动态拦截

# black-whiteList

黑白名单配置, 由于一些检测机制需要公用黑白名单, 所以次框架黑白名单是公用的, 即IP相关的检测会公用 IP 相关的黑白名单

共有属性:

# whitelist

类型: List<String>

默认: []

白名单

# blacklist

类型: List<String>

默认: []

黑名单, 优先级高于白名单

# ip

IP相关黑边名单, 属性见共有属性

# 各策略相关配置

# IP 地址黑名单

对应规则: BLACKLIST_IP_ADDRESS

black-whiteList.ip.blacklist

优先级应高于每个 IP 相关策略, 即第一个配置次策略

# ip-frequent-access

IP 访问频率限制

对应规则: FREQUENT_IP_ACCESS

在 [duration] 时间内, 如果同一 IP 访问次数超过 [frequency] 将会在 [unlock] 时间内拒绝该 IP 访问

# duration

类型: Duration

默认: 1m, 即1分钟

存续时间, 受控期

# frequency

类型: int

默认: 10

可访问次数

# unlock

类型: Duration

默认: 1h, 即1小时

锁定时长

# continuous-visit

IP 持续访问

对应规则: CONTINUOUS_VISIT

如果同一 IP 在连续 [times] 个 [duration] 时间窗口访问, 将会在 [unlock] 时间内拒绝该 IP 访问

示例:

在所有配置为默认值情况下, 如果一个程序在以下区间内皆有访问, 则会被封禁 1 小时:

同一天的: 
08:01
08:02
08:03
08:04
08:05
08:06
08:07
08:08
08:09
08:10
1
2
3
4
5
6
7
8
9
10
11

# duration

类型: Duration

默认: 1m, 即1分钟

时间窗口

# times

类型: int

默认: 100

持续访问次数

# unlock

类型: Duration

默认: 1h, 即1小时

锁定时长