登录前的人机验证
人机验证位于登录流程最前面,用于减少自动化请求直接进入认证接口。它不代替登录凭据、IP 白名单或 WAF。
在 系统设置 → Challenge 选择验证方式并保存。新的登录页会使用新设置;已有会话不会因此失效。
可选方式
| 方式 | 特点 | 适合场景 |
|---|---|---|
PoW | 浏览器完成一次工作量证明,不依赖第三方站点 | 希望减少外部依赖,且可接受少量客户端计算 |
| Cloudflare Turnstile | 由 Cloudflare 执行验证 | 已使用 Cloudflare,且希望使用其托管的人机验证 |
选择 Turnstile 前必须先在 Cloudflare 创建 widget,并把 site key 与 secret key 填回 fn-knock。详细步骤见 Cloudflare Turnstile。
验证方式的边界
- 验证只保护会经过 fn-knock 登录页的流量。
- 私网和本地来源默认有本地豁免,不能用局域网结果判断公网验证是否正常。
- Turnstile 需要浏览器能够访问 Cloudflare 的验证资源;受限网络或拦截规则可能导致控件不显示或验证失败。
- 修改验证方式后,请用无痕窗口和移动网络完成一次完整登录。
排查
- 确认已保存设置,并重新打开登录页。
- Turnstile 场景检查
site key、secret key、widget 的 hostname 与真实登录域名是否一致。 - 检查登录域名是否已正确解析并使用 HTTPS。
- 查看浏览器控制台、请求日志和事件中心中的错误信息。
