CC 防护
CC 匹配、过滤和规则管理。
分页查询 CC 过滤器列表
分页查询当前身份可见的 CC 过滤器。普通用户始终只返回归属于自己的过滤器;管理员默认可查看全部用户及系统内置过滤器,并可按所属用户筛选。接口支持按过滤器 ID、名称、启用状态和是否为内置过滤器筛选,结果按过滤器 ID 倒序排列;系统保留的 10020 号过滤器始终不会出现在列表中。响应中的 `extra` 是序列化后的过滤器扩展配置 JSON 字符串,需要调用方再次解析。
创建 CC 过滤器
为当前登录用户创建一个 CC 过滤器,创建前会按照当前账号的网站数量和系统配置检查可创建的站点关联对象配额;同一所属用户下过滤器名称不可重复。普通用户只能创建归属于自己的自定义过滤器,管理员可通过请求体指定所属用户或创建系统内置过滤器。`req_rate` 类型必须配置单 URI 请求上限,`url_auth` 类型必须配置 URL 鉴权参数;其他类型的扩展配置会以空对象保存。新增过滤器固定以启用状态和版本 1 写入。
批量更新 CC 过滤器
在一个数据库事务中批量更新一个或多个 CC 过滤器,每个数组元素必须指定过滤器 ID,只修改该元素中明确提供且被服务端支持的字段。普通用户只能更新归属于自己的自定义过滤器,管理员可更新其他用户或系统内置过滤器。任一元素不存在、越权或校验失败时整个批次都会回滚;成功时所有目标过滤器的版本号均递增并刷新更新时间,即使某个元素除 ID 外没有其他字段。修改正在使用的关键配置或系统内置过滤器时会创建节点同步任务;禁用过滤器时如仍被 CC 规则引用则拒绝,否则创建节点删除任务。
删除一个或多个 CC 过滤器
删除路径中指定的一个或多个 CC 过滤器,多个 ID 使用英文逗号分隔并在同一个数据库事务中处理。普通用户只能删除归属于自己的自定义过滤器,管理员可以删除系统内置过滤器及其他用户的过滤器。每个目标必须已经禁用;如果仍有关联的同步或删除任务,该任务状态必须为 `done`。任一 ID 格式错误、记录不存在、越权、仍启用或任务未完成时,整个批次回滚,不会保留部分删除结果。
获取 CC 过滤器详情
按 ID 获取一条 CC 过滤器的原始配置记录。系统内置过滤器仅管理员身份可以读取;用户自定义过滤器仅允许其所属用户读取,管理员身份本身不会绕过自定义过滤器的所有者校验。返回的是 `cc_filter` 记录本身,不包含列表接口联表得到的任务状态、用户名或格式化时间字段;`extra` 为序列化后的扩展配置 JSON 字符串,使用前需要再次解析。
更新单个 CC 过滤器
按路径 ID 更新一条 CC 过滤器,只修改 JSON 对象中明确提供且被服务端支持的字段;JSON 对象内的 `id` 即使存在也会被路径参数覆盖。普通用户只能更新归属于自己的自定义过滤器,管理员可更新其他用户或系统内置过滤器。成功更新时配置版本号必定递增并刷新更新时间,即使请求体为空对象。修改正在使用的关键配置或系统内置过滤器时会创建节点同步任务;禁用过滤器时如仍被 CC 规则引用则拒绝,否则创建节点删除任务。
分页查询 CC 匹配器列表
分页查询当前身份可见的 CC 请求匹配器。普通用户始终只返回归属于自己的匹配器;管理员默认可查看全部用户及系统内置匹配器,并可按所属用户筛选。接口支持按匹配器 ID、名称、启用状态和是否为内置匹配器筛选,结果按匹配器 ID 倒序排列;系统保留的 10020 号记录始终不会出现在列表中。响应中的 `data` 是序列化 JSON 字符串:`{}` 表示匹配全部请求,其他记录通常是由匹配项、操作符和值组成的条件数组。
创建 CC 匹配器
为当前登录用户创建一个 CC 请求匹配器,创建前会按照当前账号的网站数量和系统配置检查可创建的站点关联对象配额;同一所属用户下匹配器名称不可重复。普通用户只能创建归属于自己的自定义匹配器,管理员可通过 JSON 对象指定所属用户或创建系统内置匹配器。省略 `data` 时保存 `{}`,表示匹配全部请求;提供 `data` 时必须是条件数组,服务端会去除值中的空行和首尾空白并转换为小写。新增匹配器固定以启用状态和版本 1 写入。
批量更新 CC 匹配器
在一个数据库事务中批量更新一个或多个 CC 请求匹配器,每个数组元素必须指定匹配器 ID,只修改该元素中明确提供且被服务端支持的字段。普通用户只能更新归属于自己的自定义匹配器,管理员可更新其他用户或系统内置匹配器。任一元素不存在、越权或校验失败时整个批次都会回滚;成功时所有目标匹配器的版本号均递增并刷新更新时间,即使某个元素除 ID 外没有其他字段。修改正在被 CC 规则引用的匹配条件或系统内置匹配器时会创建节点同步任务;禁用匹配器时如仍被引用则拒绝,否则创建节点删除任务。
删除一个或多个 CC 匹配器
删除路径中指定的一个或多个 CC 请求匹配器,多个 ID 使用英文逗号分隔并在同一个数据库事务中处理。普通用户只能删除归属于自己的自定义匹配器,管理员可以删除系统内置匹配器及其他用户的匹配器。每个目标必须已经禁用;如果仍有关联的同步或删除任务,该任务状态必须为 `done`。任一 ID 格式错误、记录不存在、越权、仍启用或任务未完成时,整个批次回滚,不会保留部分删除结果。
获取 CC 匹配器详情
按 ID 获取一条 CC 请求匹配器的原始配置记录。系统内置匹配器仅管理员身份可以读取;用户自定义匹配器仅允许其所属用户读取,管理员身份本身不会绕过自定义匹配器的所有者校验。返回的是 `cc_match` 记录本身,不包含列表接口联表得到的任务状态、用户名或格式化时间字段;`data` 为序列化后的匹配条件 JSON 字符串,使用前需要再次解析。
更新单个 CC 匹配器
按路径 ID 更新一条 CC 请求匹配器,只修改 JSON 对象中明确提供且被服务端支持的字段;JSON 对象内的 `id` 即使存在也会被路径参数覆盖。普通用户只能更新归属于自己的自定义匹配器,管理员可更新其他用户或系统内置匹配器。成功更新时配置版本号必定递增并刷新更新时间,即使请求体为空对象。修改正在被 CC 规则引用的匹配条件或系统内置匹配器时会创建节点同步任务;禁用匹配器时如仍被引用则拒绝,否则创建节点删除任务。
分页查询 CC 规则组列表
分页查询当前身份可见的 CC 规则组。默认情况下普通用户只返回自己创建的规则组,管理员返回全部规则组或通过 `uid` 限定所属用户;传 `internal_self=1` 时改为返回全局可见的内置规则、目标用户自己的规则以及 `show_to` 明确授权给该用户的规则。接口还支持按规则组 ID、名称、启用状态、前台显示状态和是否内置筛选,系统保留的 10020 号记录始终不会返回。结果先按 `sort` 升序,再按创建时间倒序排列;`data` 为序列化后的规则步骤 JSON 数组。
创建 CC 规则组
为当前登录用户创建一个 CC 规则组,创建前会按当前账号的网站数量和系统配置检查站点关联对象配额;同一所属用户下规则组名称不可重复。普通用户只能创建归属于自己的自定义规则组,管理员可指定所属用户、创建系统内置规则或设置定向可见用户。每个规则步骤必须指定执行模式、动作、已启用的匹配器和第一过滤器,可选第二过滤器;步骤数量不得超过运行时配置 `cc-rule-max-limit`,初始安装值为 5。记录创建成功后会立即创建节点同步任务,规则组可按请求以启用或禁用状态创建。
批量更新 CC 规则组
在一个数据库事务中批量更新一个或多个 CC 规则组。请求体必须是数组,每个元素必须指定规则组 ID;名称、排序、备注、规则步骤、定向可见用户、启用状态和前台显示状态均为可选字段,只更新明确提供的字段。普通用户只能更新归属于自己的自定义规则组,管理员可更新其他用户或系统内置规则组;任一元素不存在、越权或校验失败时整个批次回滚。每个成功处理的规则组都会递增版本号并刷新更新时间,即使该元素除 ID 外未提供其他可写字段。修改已启用且被网站使用的规则步骤会创建节点同步任务;禁用规则组前必须确认其未被网站、全局默认值、用户默认值、防火墙默认页规则或自动规则切换引用,禁用成功时会创建节点删除任务。
删除一个或多个 CC 规则组
删除路径中指定的一个或多个 CC 规则组,多个 ID 使用英文逗号分隔并在同一个数据库事务中处理。普通用户只能删除归属于自己的自定义规则组,管理员可以删除系统内置规则组及其他用户的规则组。每个目标必须已经禁用;如果仍有关联的同步或删除任务,该任务状态必须为 `done`。任一 ID 格式错误、记录不存在、越权、仍启用或任务未完成时,整个批次回滚,不会保留部分删除结果。
获取 CC 规则组详情
按 ID 获取一条 CC 规则组的原始配置记录。系统内置规则组仅管理员身份可以读取;用户自定义规则组仅允许其所属用户读取,管理员身份本身不会绕过自定义规则组的所有者校验。返回的是 `cc_rule` 记录本身,不包含列表接口联表得到的任务状态、用户名或格式化时间字段;`data` 为序列化后的规则步骤 JSON 字符串,使用前需要再次解析。
更新指定 CC 规则组
按路径 ID 更新一条 CC 规则组。请求体必须是 JSON 对象,路径中的 `rule_id` 是唯一目标标识;即使请求体包含 `id`,服务端也会用路径 ID 覆盖。名称、排序、备注、规则步骤、定向可见用户、启用状态和前台显示状态均为可选字段,只更新明确提供的字段。普通用户只能更新归属于自己的自定义规则组,管理员可更新其他用户或系统内置规则组。传入空对象也会递增版本号并刷新更新时间。修改已启用且被网站使用的规则步骤会创建节点同步任务;禁用前必须确认规则组未被网站、全局默认值、用户默认值、防火墙默认页规则或自动规则切换引用,禁用成功时会创建节点删除任务。