根据所使用的 Cloudflare 产品或功能,可以通过三种主要方式发出质询。每种方法旨在平衡安全性和无缝的访客体验。
| 产品 | 质询类型 |
|---|---|
| WAF(自定义规则、速率限制规则、IP 访问规则) | 插页式质询页面 |
| Bot Management | JavaScript 探测 |
| Bot Fight Mode,Super Bot Fight Mode | 插页式质询页面 |
| Turnstile | 嵌入式小组件 |
| HTTP DDoS 攻击防护 | 任何质询 |
| Under Attack 模式 | 托管质询 (Managed Challenge) |
质询页面(Challenge Pages)和 Turnstile 依赖于相同的基础机制向您的网站或应用程序的访客发出质询。
JavaScript 探测(JavaScript Detections)是 Bot Management 中的可选功能。启用后,Cloudflare 会在 HTML 响应中注入 JavaScript 代码段以收集客户端信号。与质询页面不同,JavaScript 探测在每个 HTML 请求上运行,而不会暂停或打断访客。它会填充一个通过/失败的结果(cf.bot_management.js_detection.passed),您然后可以使用 WAF 自定义规则 针对该结果采取措施。
对于提供何时应用质询信息的会话级检测,请参考 Precursor。
有关不同质询类型的更多信息,请参考以下页面:
Cloudflare Challenges 无法支持以下情况:
- 修改浏览器
User-Agent值或修改 Web API(如Canvas和WebGL)的浏览器扩展。 - 由一个域提供最初为另一个域请求的质询页面的实施方案。
- 质询页面不能嵌入在跨源的 iframe 中。
- 托管质询的解决请求来自与发出质询请求的原始 IP 不同的 IP 的客户端软件。例如,如果您从一个 IP 收到质询并使用另一个 IP 解决它,则解决无效,并且您可能会遇到质询循环。