版本 2.1.1792967583 · 最新 下载 OpenAPI Markdown 版

增值防护方案

防重放、防泄露、防篡改各一份方案(租户各自一份,管理员编辑平台方案);保存时一并改「按方案」的站点,单独设置的不动;属 WAF 增强。

protect-schemes防护鉴权: 用户(部分参数仅管理员)9 个接口

获取防泄露方案

GET/api/v2/protect-schemes/leak
鉴权: 用户(部分参数仅管理员)

保存防泄露方案

PUT/api/v2/protect-schemes/leak
鉴权: 用户(部分参数仅管理员)

请求体 application/json

字段类型必填说明
customSiteLeakGuardCustom[]必填 自定义正则,最多 16 条。
detectSiteLeakGuardDetect必填 内置识别各类的处置;不写 = 不查这一类。
excludestring[]必填 不检测的路径前缀(末尾 * 可省),最多 32 条。
expected_updated_atstring— 乐观锁:调用方读到的 updated_at(读到为空 = 还没保存过,用 1970-01-01T00:00:00Z)。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。
observe_daysinteger必填 站点按方案新开启时观察多少天(只记录不处置);0 = 不观察直接处置。

获取防重放方案

GET/api/v2/protect-schemes/replay
鉴权: 用户(部分参数仅管理员)

保存防重放方案

PUT/api/v2/protect-schemes/replay
鉴权: 用户(部分参数仅管理员)

请求体 application/json

字段类型必填说明
actionReplayGuardAction— 没有令牌或重放时:block 回 403;challenge 出 JS 挑战。不写 = block。
可选值 ["block","challenge"]
app_saltstring— 签名盐(应用密钥,32 字节 hex);app_sign 开而没有它 = 签名头一律不认。
app_signboolean— App 签名头模式:请求带签名头即按签名校验,不需要令牌。
bind_ipboolean— 令牌再绑客户端 IP(换 IP 即失效)。
expected_updated_atstring— 乐观锁:调用方读到的 updated_at(读到为空 = 还没保存过,用 1970-01-01T00:00:00Z)。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。
methodsReplayGuardMethod[]— 受保护方法;不写 = POST/PUT/PATCH/DELETE。
pathsReplayGuardPath[]— 保护接口路径表,最多 64 条;空 = 不保护。
ttl_sinteger— 令牌有效期(秒),签名头的时间戳也按它判;不写 = 120。

获取防篡改方案

GET/api/v2/protect-schemes/tamper
鉴权: 用户(部分参数仅管理员)

保存防篡改方案

PUT/api/v2/protect-schemes/tamper
鉴权: 用户(部分参数仅管理员)

请求体 application/json

字段类型必填说明
actionReplayGuardAction必填 没有令牌或重放时:block 回 403;challenge 出 JS 挑战。不写 = block。
可选值 ["block","challenge"]
expected_updated_atstring— 乐观锁:调用方读到的 updated_at(读到为空 = 还没保存过,用 1970-01-01T00:00:00Z)。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。
modestring必填 检查范围:structure 仅结构变化;full 整页任意变化。
可选值 ["structure","full"]
observe_daysinteger必填 站点按方案新开启时观察多少天(只记录不处置);0 = 不观察直接处置。
scopesSiteTamperScope[]必填 保护范围,最多 50 条。

把方案批量应用到网站

POST/api/v2/protect-schemes/{kind}/apply
鉴权: 用户(部分参数仅管理员)

请求体 application/json

字段类型必填说明
auto_joinobject— 「以后新加入范围的网站自动加入方案」的规则;没开时不返回。
dry_runboolean— 为 true 只返回会发生什么的计数,不写任何东西。
默认 false
override_customboolean— 为 true 时单独设置的网站也改成按方案;缺省不覆盖,计入 skipped_custom。
默认 false
selectionProtectSchemeSelection必填 要应用的网站范围。

列出已设置这项防护的网站

GET/api/v2/protect-schemes/{kind}/sites
鉴权: 用户(部分参数仅管理员)

查询参数

字段类型必填说明
pageinteger— 页码,从 1 开始。
默认 1
page_sizeinteger— 每页条数。
默认 20
tenant_idinteger— 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。
qstring— 按网站域名或站点名模糊搜索(不区分大小写)。
statusProtectSchemeSiteStatus— 按状态过滤。
可选值 ["enabled","disabled","pending","capture_failed"]
sourceProtectSiteSource— 按来源过滤:scheme 按方案;custom 单独设置(含单独关闭)。
只读可选值 ["scheme","custom"]

批量重设或关闭网站的这项防护

POST/api/v2/protect-schemes/{kind}/sites/bulk
鉴权: 用户(部分参数仅管理员)

请求体 application/json

字段类型必填说明
actionReplayGuardAction必填 没有令牌或重放时:block 回 403;challenge 出 JS 挑战。不写 = block。
可选值 ["block","challenge"]
filterProtectSchemeSiteFilter— 与列表同样的过滤条件,服务端展开成网站集合。
idsinteger[]— 网站 id 列表。

增值防护方案对象

字段类型必填说明
actionReplayGuardAction— 没有令牌或重放时:block 回 403;challenge 出 JS 挑战。不写 = block。
可选值 ["block","challenge"]
app_saltstring— 签名盐(应用密钥,32 字节 hex);app_sign 开而没有它 = 签名头一律不认。
app_signboolean— App 签名头模式:请求带签名头即按签名校验,不需要令牌。
appliedinteger— 写入(dry_run 时为将写入)的网站数。
auto_joinobject— 「以后新加入范围的网站自动加入方案」的规则;没开时不返回。
只读
bind_ipboolean— 令牌再绑客户端 IP(换 IP 即失效)。
countsProtectSchemeCounts— 站点计数:调用方看得到的站点里,开着的、按方案的、单独设置的各几个。
只读
customSiteLeakGuardCustom[]— 自定义正则,最多 16 条。
demoted_sitesinteger— 本次保存因属主没开通 WAF 增强、改为单独设置并保留原值的站点数(只在保存的回包里有)。
只读
detectSiteLeakGuardDetect— 内置识别各类的处置;不写 = 不查这一类。
domainstring— 网站主域名(没有域名时为站点名)。
dry_runboolean— 为 true 只返回会发生什么的计数,不写任何东西。
默认 false
enabledboolean— 是否开着。
excludestring[]— 不检测的路径前缀(末尾 * 可省),最多 32 条。
expected_updated_atstring— 乐观锁:调用方读到的 updated_at(读到为空 = 还没保存过,用 1970-01-01T00:00:00Z)。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。
failedProtectSchemeFailure[]— 没能处理的网站及原因,最多 100 条。
failed_totalinteger— 没能处理的网站总数(failed 被截断时大于其长度)。
filterProtectSchemeSiteFilter— 与列表同样的过滤条件,服务端展开成网站集合。
gateProtectSchemeGate— 方案属主(租户本人或平台)的 WAF 增强判定档:full 可改;readonly、basic 只许减不许增。
只读可选值 ["full","readonly","basic"]
idsinteger[]— 网站 id 列表。
matchedinteger— 范围内调用方看得到的网站数。
methodsReplayGuardMethod[]— 受保护方法;不写 = POST/PUT/PATCH/DELETE。
modestring— 检查范围:structure 仅结构变化;full 整页任意变化。
可选值 ["structure","full"]
observe_daysinteger— 站点按方案新开启时观察多少天(只记录不处置);0 = 不观察直接处置。
observe_untilinteger— 观察期截止(Unix 毫秒时间戳);只有防泄露开着且仍在观察期内才有值,已过期、没有观察期、关着或其余方案为空。
override_customboolean— 为 true 时单独设置的网站也改成按方案;缺省不覆盖,计入 skipped_custom。
默认 false
ownerstring— 属主用户名。
pathsReplayGuardPath[]— 保护接口路径表,最多 64 条;空 = 不保护。
scopesSiteTamperScope[]— 保护范围,最多 50 条。
selectionProtectSchemeSelection必填 要应用的网站范围。
site_idinteger— 网站 id。
skipped_custominteger— 因单独设置而没覆盖的网站数(override_custom 为 false)。
skipped_gateinteger— 因属主 WAF 增强不是 full 而没写的网站数。
sourceProtectSiteSource— 站点这一项的来源:scheme 按方案(保存方案时跟着变);custom 单独设置(含关闭、存量迁移来的行)。
只读可选值 ["scheme","custom"]
statusProtectSchemeSiteStatus— 站点这一项的状态:enabled 开着;disabled 关着;pending 开着但防篡改基准还在排队采集;capture_failed 开着但基准采集多次失败、已停止重试(只有防篡改有后两种)。
可选值 ["enabled","disabled","pending","capture_failed"]
tenant_idinteger— 属主用户 id。
today_blockedinteger— 今日(UTC)拦截与换错误页次数,不含观察期内的命中(只有防泄露有,与方案回包 counts.today_blocked 同口径);其余方案、没接 ClickHouse 或查询失败为空。
today_hitsinteger— 今日命中数(防泄露为今日 UTC 非观察期的打码与拦截次数之和,即 today_masked + today_blocked,防篡改为今日检出篡改的页数);防重放为空。
today_maskedinteger— 今日(UTC)打码次数,不含观察期内的命中(只有防泄露有,与方案回包 counts.today_masked 同口径);其余方案、没接 ClickHouse 或查询失败为空。
ttl_sinteger— 令牌有效期(秒),签名头的时间戳也按它判;不写 = 120。
updated_atstring— 版本(没保存过为空);修改时用 expected_updated_at。
只读
updated_sitesinteger— 本次保存一并改到的按方案站点数(只在保存的回包里有)。
只读