人机验证
人机验证
三件事要分清
人机验证由三层组成,配置分散在不同位置,混在一起看最容易出问题:
| 层 | 回答的问题 | 配在哪 |
|---|---|---|
| 验证能力 | 挑战长什么样、通过后凭证多久有效 | 网站编辑 →「人机验证」→ 验证能力 |
| 永不挑战的路径 | 哪些路径任何情况下都不挑战 | 同上 |
| 触发来源 | 谁要求这次挑战 | 站点常开开关(同上)+ CC 规则等 |
验证能力与「站点常开人机验证」开关无关:开关关闭时,CC 规则触发的验证照样使用这些设置。 所以这些字段始终可见可改,不会因为开关关闭而消失。
验证能力
| 字段 | 说明 |
|---|---|
| 验证方式 | 传统图形验证码 / capJs 工作量证明。决定挑战页长什么样 |
| 验证入口路径 | 用于隐藏系统特征,建议随机生成 |
| 通行凭证有效期 | 站点常开验证码通过后凭证的有效期。CC 规则触发的验证按该规则自己的「持续时间」计免挑战期,不看这里 |
| capJs 参数 | 选 capJs 时可调:挑战数量 / 每个挑战字节数 / 难度 / 过期时间 |
永不挑战的路径
每行一个路径前缀,对所有触发来源生效——不只是站点常开验证码,CC 规则等来源要求的验证同样会被跳过。
适合放被挑战就会坏掉的端点:支付回调、Webhook、健康检查、纯接口。这类端点不会渲染挑战页, 一旦被挑战就是直接失败。
被这份清单跳过时,防护日志的「触发规则」会带上
命中验证码排除URL,本次未挑战, 不会静默放过。
触发来源
站点常开人机验证:开启后本站点所有请求都要先通过验证。 关闭不影响 CC 规则等其它来源——它只是众多触发来源中的一个。
CC 防护规则:动作设为「人机验证」时触发,范围由规则条件决定。 规则编辑页会就地显示本站点的人机验证设置,并在「规则管的路径落在永不挑战清单里」时给出提醒。
规则挂在「全局网站」上时没有单一站点可看——全局网站不是真实站点, 人机验证的配置落在各个真实站点上,引擎按被访问的那个站点判定。 所以这种规则的摘要按站点列出:哪几个站点配了「永不挑战的路径」、分别是哪些路径、 各自一个「去设置」入口。只有这几个站点会把本规则要求的挑战跳过,其余站点照常挑战。
发起挑战时,防护日志会记下是谁要求的,例如 人机验证来源:CC规则 全局测试[CC-EJ2GJ5]。
挑战页上留个联系方式
挑战页对访客是个死胡同:被挡下来之后既进不去,也没地方问。
「网站编辑 - 人机验证」里有一栏挑战页联系方式,填了才会显示在验证页面上, 留空则整块不出现——不会平白多出一行空的。
内容随便写:邮箱、电话、工单地址、一句说明都行,支持换行,最多 200 字。 访客看到的是联系管理员:<你填的内容>,中英跟随访客的语言切换。
配合页面底部的识别码用效果最好:让访客把那串码一起报过来, 你在防御日志里按「访问识别码」一搜,触发的规则、时间、来源 IP、URL 全都有。
这是给访客看的公开页面
任何人被挑战到都会看到这一栏,包括正在攻击你的人。别往里写内部系统地址、 个人手机号之类不想被公开的信息。内容会做 HTML 转义后再渲染,写什么显示什么, 不会被当成网页代码执行。
