## 防篡改保护页面总表 (`tamper-guard`)

跨网站列出全部保护页面(网站、路径、范围、基准时间、状态、最近变化),不用先选网站;租户只看自己的网站,可按网站筛选。

鉴权: 用户（部分参数仅管理员） · 文档: https://www-demo.kuxitong.com/zh/docs/api/tamper-guard

### GET `/api/v2/tamper-guard/pages`

列出全部网站的防篡改保护页面 · 鉴权: 用户（部分参数仅管理员）

查询参数:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `page` | integer |  | 页码,从 1 开始。 默认: 1 |
| `page_size` | integer |  | 每页条数。 默认: 20 |
| `tenant_id` | integer |  | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| `site_id` | integer |  | 只看该网站;不属于调用方租户时为空列表。 |
| `q` | string |  | 按网站域名或页面路径模糊搜索(不区分大小写)。 |
| `changed` | boolean |  | 为 true 只看检出过篡改的页面(最近变化不为空的页)。 |

```sh
curl "https://panel.example.com/api/v2/tamper-guard/pages" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

防篡改保护页面总表对象:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `base_at` | string |  | 站点整体基准时间;还没更新过基准为 null。 |
| `domain` | string |  | 网站主域名(站点域名列表第一个;没有域名时为站点名)。 |
| `enabled` | boolean |  | 该站防篡改开关是否开着;关着时页面状态只是保留的基准,不检测。 |
| `gate` | string |  | 该站租户的 WAF 增强判定档:full 可更新基准;readonly 与 basic 不可。 可选值: ["full","readonly","basic"] |
| `gate_expired_at` | string |  | 仅管理员响应且 gate_reason=expired 时带:平台 WAF 增强授权的到期时刻;租户响应不带。 (只读) |
| `gate_owner` | WafGateOwner |  | 站点属主,仅管理员响应带;租户响应不带别人的信息。 (只读) |
| `gate_packages` | string[] |  | 仅管理员响应带:属主名下未到期的套餐名(最多 20 个);租户响应不带。 (只读) |
| `gate_reason` | WafGateReason |  | WAF 增强(waf_enhanced)没生效的原因,gate 为 full 或 readonly 时不带。package = 平台已授权但属主没有未到期且含 WAF 增强的套餐;license = 平台没开通(从未授权、服务商撤销、授权被停用);expired = 平台授权已到期且只读缓冲期(License.readonly_days,缺省 7 天)已过,已回落基础。 可选值: ["package","license","expired"] (只读) |
| `kind` | string |  | 来自哪类保护范围。 可选值: ["home","page","dir"] |
| `last_change_action` | string |  | 最近一次篡改的节点处置:replace 返回了基准页;log 只记录(含观察期)。 可选值: ["replace","log"] |
| `last_change_at` | string |  | 最近一次检出篡改的时间;基准以来没有为 null。 |
| `last_change_summary` | string |  | 最近一次篡改的变化摘要,如 link=bad.example.net, title。 |
| `note` | string |  | 没纳入基准的原因,取值同 SiteTamperPage.note;纳入的页不出。 可选值: ["too_large","site_limit","fetch_failed","not_html"] |
| `observe_until` | string |  | 该站防篡改观察期截止;开着且在观察期内才有值(同 SiteTamperGuard.observe_until),关着或没有观察期为 null;已过期的截止时间照回,由调用方比对当前时间。 |
| `path` | string |  | 页面路径。 |
| `site_id` | integer |  | 网站 id。 |
| `size` | integer |  | 基准页字节数。 |
| `state` | string |  | 页面状态:normal 正常;tampered 基准以来检出过篡改;excluded 没纳入基准(原因见 note)。 可选值: ["normal","tampered","excluded"] |
