Comparações

Cloudflare Bot Management vs Cloudflare Turnstile: entendendo a diferença

A Cloudflare oferece dois produtos distintos de proteção contra bots que os desenvolvedores frequentemente confundem: Bot Management (uma defesa em nível de rede corporativa) e Turnstile (um widget gratuito de substituição de CAPTCHA). Bot Management é uma plataforma abrangente que inclui regras WAF, limitação de taxa e análise comportamental. Turnstile é um widget CAPTCHA independente que qualquer site pode incorporar gratuitamente. Compreender a diferença é fundamental para escolher a abordagem de automação correta.


Comparação rápida

Recurso Gerenciamento de bots Torniquete
O que é Plataforma empresarial de defesa contra bots Widget CAPTCHA gratuito
Preços Plano empresarial ($$$) Gratuito para todos os planos
Implantação Nível de rede (proxy Cloudflare) Widget JavaScript (incorporado na página)
Requer DNS da Cloudflare Sim Não (funciona em qualquer site)
Desafio visível Às vezes (desafio gerenciado) Raramente (principalmente invisível)
Escopo de detecção Todas as solicitações para o domínio Ações específicas da página (envio de formulário, etc.)
Pontuação do bot 1-99 (por solicitação) Pass/fail (por desafio)
Integração WAF Sim (regras baseadas na pontuação do bot) Não
Desafio JavaScript Sim (página de espera de 5 segundos) Sim (prova de trabalho em segundo plano)
** Limitação de taxa ** Sim Não
Suporte CaptchaAI Através dos métodos Turnstile/Challenge Sim (taxa de sucesso de 100%)

Gerenciamento de bots Cloudflare (empresarial)

O gerenciamento de bots faz parte do plano empresarial da Cloudflare. Opera no nível da rede – cada solicitação ao domínio é avaliada antes de chegar ao servidor de origem.

Como funciona o gerenciamento de bots

Request arrives at Cloudflare edge
    ↓
Bot Management engine evaluates:
  ├─ Machine learning model (behavioral sinal de navegador)
  ├─ Heuristics (known bot patterns)
  ├─ JavaScript sinal de navegadoring (if JS challenge triggered)
  ├─ JA3/JA4 TLS sinal de navegador
  ├─ HTTP header analysis
  └─ IP reputation (Cloudflare sees ~20% of internet traffic)
    ↓
Bot score assigned: 1 (definitely bot) to 99 (definitely human)
    ↓
WAF rules act on the score:

  - Score > 50 → Allow
  - Score 30-50 → Managed challenge
  - Score < 30 → Block or JavaScript challenge

Componentes de gerenciamento de bots

Componente Objetivo
Pontuação do bot Pontuação baseada em ML para cada solicitação
Desafio Gerenciado Mostra de forma adaptativa o desafio JS ou Cloudflare Turnstile
Modo de Luta Super Bot Modo simplificado para planos Pro/Business
Análise de bots Painel mostrando tráfego de bot versus tráfego humano
Regras personalizadas do WAF Regras que são acionadas nos limites de pontuação do bot
** Limitação de taxa ** Limites de taxa de solicitação por IP/session
Detecção de JavaScript Detecção de navegador modo headless e ferramenta de automação

O que a automação encontra

Quando um site usa o Bot Management, as solicitações automatizadas podem ver:

  1. Bloqueio direto (403) — Pontuação do bot muito baixa, regras do WAF bloqueadas
  2. Página de desafio JavaScript — página "Verificando seu navegador" de 5 segundos
  3. Desafio gerenciado — Widget de catraca ou desafio JS
  4. Passe invisível — Solicitação permitida (pontuação do bot alta o suficiente)

Cloudflare Turnstile (CAPTCHA grátis)

Turnstile é um widget CAPTCHA independente que substitui os CAPTCHAs tradicionais. Ele funciona independentemente do Bot Management e pode ser usado em qualquer site (não apenas em sites com proxy da Cloudflare).

Como funciona a catraca

Page loads Turnstile widget
    ↓
Widget runs background checks:
  ├─ Browser proof-of-work challenge (cryptographic puzzle)
  ├─ Private Access Token (Apple devices)
  ├─ Browser environment validation
  └─ Cloudflare threat intelligence
    ↓
Result: cf-turnstile-response token generated
    ↓
Token submitted with form data
    ↓
Server validates token via Cloudflare API (siteverify)

Modos de widget de catraca

Modo Comportamento Caso de uso
Gerenciado Cloudflare decide entre invisível e interativo Padrão, recomendado
Não interativo Sempre invisível (somente prova de trabalho) Formas de baixo atrito
Invisível Nenhum widget visível, é executado no carregamento da página Verificação de antecedentes

Integração de catraca

<!-- Simple Turnstile integration -->
<div class="cf-turnstile" data-sitekey="0x4AAAAAAAC3DHQhMMQ_Rxrg"></div>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>

Resolvendo gerenciamento de bots versus catraca

Resolvendo a catraca (simples)

Cloudflare Turnstile é resolvida através do método Turnstile do CaptchaAI com uma taxa de sucesso de 100%:

import requests
import time

API_KEY = "YOUR_API_KEY"

submit = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "turnstile",
    "sitekey": "0x4AAAAAAAC3DHQhMMQ_Rxrg",
    "pageurl": "https://example.com/signup",
    "json": 1,
})

task_id = submit.json()["request"]

for _ in range(60):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY,
        "action": "get",
        "id": task_id,
        "json": 1,
    }).json()

    if result.get("status") == 1:
        token = result["request"]
        print(f"Turnstile token: {token[:50]}...")
        break

Resolvendo desafios de gerenciamento de bots

O gerenciamento de bots usa múltiplas camadas de defesa. O componente CAPTCHA (quando presente) é normalmente um Desafio Gerenciado que é renderizado como Cloudflare Turnstile:

# Bot Management flow for automation:

# 1. Make initial request
response = requests.get("https://protected-site.com/api/data")

# 2. Check if challenged
if response.status_code == 403:
    # Hard block — need to adjust headers, proxy, or approach
    pass
elif "challenge" in response.text.lower() or response.status_code == 503:
    # JavaScript challenge or managed challenge
    # If it contains a Turnstile widget, solve it:
    if "cf-turnstile" in response.text or "challenges.cloudflare.com" in response.text:
        # Extract sitekey and solve via CaptchaAI
        sitekey = extract_turnstile_sitekey(response.text)
        token = solve_turnstile(sitekey, "https://protected-site.com/api/data")

Página Cloudflare Turnstile em staging (sem catraca)

A página de desafio JavaScript "Verificando seu navegador" NÃO é um widget Turnstile. CaptchaAI lida com isso através do método turnstile_staging:

submit = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "turnstile_staging",
    "sitekey": "managed",
    "pageurl": "https://protected-site.com/login",
    "json": 1,
})

Quando você encontra cada produto

Cenário Produto provável Como identificar
Página "Verificando seu navegador" de 5 segundos Gerenciamento de bots (desafio JS) cf-chl-validação autorizada, jschl_vc na fonte da página
Widget de catraca em um formulário Torniquete (autônomo) Classe cf-turnstile, challenges.cloudflare.com/turnstile
403 Proibido com página de erro Cloudflare Gerenciamento de bot (bloqueio rígido) Cabeçalho cf-ray, modelo de erro Cloudflare
Caixa de seleção interativa na página da Cloudflare Desafio gerenciado (gerenciamento de bot) Domínio challenges.cloudflare.com
Nenhum desafio visível, mas cookies cf definidos Gerenciamento de bots (aprovado) Biscoito cookie_qa_validacao

Código de detecção

import requests

def identify_cloudflare_protection(url):
    """Identify which Cloudflare protection a URL uses."""
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
                      "AppleWebKit/537.36 Chrome/120.0.0.0",
    }

    response = requests.get(url, headers=headers, timeout=15, allow_redirects=False)
    html = response.text

    result = {
        "cloudflare_protected": "cf-ray" in response.headers.get("cf-ray", "")
                                or "cloudflare" in response.headers.get("server", "").lower(),
        "bot_management_challenge": False,
        "turnstile_widget": False,
        "hard_block": False,
        "passed": False,
    }

    if response.status_code == 403:
        result["hard_block"] = True
    elif response.status_code == 503 and "jschl" in html:
        result["bot_management_challenge"] = True
    elif "cf-turnstile" in html:
        result["turnstile_widget"] = True
    elif response.status_code == 200:
        result["passed"] = True

    return result

Perguntas frequentes

Um site pode usar Bot Management e Turnstile?

Sim. O Bot Management opera no nível da rede para todas as solicitações, enquanto o Turnstile pode ser adicionado como um widget em páginas específicas. Um site pode usar o gerenciamento de bots para bloquear bots óbvios na borda e o Turnstile nos formulários de login/signup para verificação adicional.

O Turnstile faz parte do gerenciamento de bots?

Não diretamente. Cloudflare Turnstile é um produto separado. No entanto, o modo “Desafio Gerenciado” do Bot Management pode renderizar um widget semelhante ao Turnstile. A abordagem de resolução é a mesma - use o solucionador Turnstile do CaptchaAI.

O que é mais difícil de resolver?

O gerenciamento de bots é mais difícil porque avalia cada solicitação no nível da rede com vários sinais (sinal de navegador TLS, reputação de IP, padrões de solicitação). Cloudflare Turnstile por si só protege apenas envios de formulários específicos. Para o gerenciamento de bots, você precisa de cabeçalhos adequados, configuração de TLS e rotação de IP, além de resolver o desafio do CAPTCHA.

CaptchaAI resolve ambos?

CaptchaAI resolve widgets Turnstile (taxa de sucesso de 100%) e páginas Cloudflare Turnstile em staging. O bloqueio em nível de rede do Bot Management (respostas 403) requer infraestrutura adicional (cabeçalhos adequados, proxies) que está fora do escopo do CaptchaAI — CaptchaAI lida com o componente de desafio CAPTCHA.


Resumo

Cloudflare Bot Management é uma defesa em nível de rede empresarial que avalia cada solicitação com pontuação de ML, regras WAF e análise comportamental. Cloudflare Turnstile é um widget CAPTCHA gratuito que verifica os usuários por meio de prova de trabalho do navegador. Para automação, a Cloudflare Turnstile é resolvida diretamente comCaptchaAI(taxa de sucesso de 100%). Os desafios de gerenciamento de bots exigem simulação de navegador adequada, além de CaptchaAI para o componente de desafio CAPTCHA.

Artigos relacionados

Os comentários estão desativados para este artigo.