logo
bars

CAPTCHA de Texto (ImageToText)
e CapMonster Cloud

Solução de CAPTCHA, integração no site e testes.
Você herdou um site com captcha ou outra camada de proteção, mas não tem acesso ao código-fonte? Então é normal querer saber qual solução está instalada, se a configuração está correta e como testar tudo.

Neste artigo, procuramos responder a todas as principais dúvidas. Para começar a resolver o problema, o primeiro passo é identificar qual sistema de proteção está sendo utilizado. Para isso, você pode consultar a lista de captchas e sistemas de proteção antibot mais populares, onde há exemplos visuais e sinais principais que ajudam a identificar rapidamente com o que você está lidando.

Se você notar que o seu site utiliza ImageToText, o passo seguinte é estudar com mais detalhes as suas características e o seu funcionamento. Neste mesmo artigo, você também pode conferir o guia de integração do ImageToText, para entender por completo como o sistema opera no seu site. Isso permitirá não apenas compreender a proteção atual, mas também planejar adequadamente a sua manutenção.

O que é ImageToText CAPTCHA
O que é ImageToText CAPTCHA
ImageToText CAPTCHA é um sistema clássico de proteção de sites baseado no reconhecimento de texto a partir de imagens. O usuário precisa digitar os caracteres (letras, números ou uma combinação) exibidos em uma imagem distorcida. Essa abordagem ajuda a diferenciar humanos de scripts automatizados. É usado em formulários de registro, login, envio de mensagens, comentários e para prevenir requisições automáticas em massa.

Como resolver ImageToText CAPTCHA via CapMonster Cloud

Ao testar formulários com ImageToText CAPTCHA, muitas vezes é necessário verificar se a CAPTCHA funciona corretamente e está integrada de forma adequada.
Você pode testar a CAPTCHA manualmente no seu site:
  • Abra a página com o formulário e verifique se a CAPTCHA está visível.
  • Tente enviar o formulário sem resolver a CAPTCHA — o servidor deve retornar um erro.
  • Após resolver a CAPTCHA corretamente, o formulário deve ser enviado sem erros.
Para reconhecimento automático da CAPTCHA, você pode usar serviços especializados, como o CapMonster Cloud — uma ferramenta que recebe os parâmetros da CAPTCHA, processa-os em seus servidores e retorna uma resposta pronta. Essa resposta pode ser inserida no campo correto para passar na verificação sem intervenção do usuário.

Trabalhar com o CapMonster Cloud via API normalmente envolve as etapas abaixo:

Criação da tarefaCriação da tarefa
arrow
Envio da requisição APIEnvio da requisição API
arrow
Recebimento do resultadoRecebimento do resultado
arrow
Aplicação do token na páginaAplicação do token na página
arrow
Reconhecimento de CAPTCHA de imagem usando bibliotecas prontas
O serviço CapMonster Cloud oferece bibliotecas prontas para uso em Python, JavaScript (Node.js) e C#.
Python
JavaScript
C#
Obter solução, inserir e enviar formulário
Exemplo em Node.js para o ciclo completo de reconhecimento de CAPTCHA na sua página. Possíveis abordagens: usar requisições HTTP para obter HTML e parâmetros do sistema de proteção, enviar a resposta e processar o resultado. Ou, como no exemplo abaixo, com ferramentas de automação (Playwright) — abrir a página, aguardar a verificação, enviar parâmetros via cliente CapMonster Cloud, obter o resultado, inserir no campo correspondente (para testes você pode usar dados corretos ou incorretos) e observar o resultado.

  // npm install playwright @zennolab_com/capmonstercloud-client
  // npx playwright install chromium

import { CapMonsterCloudClientFactory, ClientOptions, ImageToTextRequest, CapMonsterModules } from '@zennolab_com/capmonstercloud-client';
import { chromium } from 'playwright';

const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud

async function solveImageToTextAndFillField() {
    const cmcClient = CapMonsterCloudClientFactory.Create(
        new ClientOptions({ clientKey: API_KEY })
    );

    // Verifique o saldo, se necessário
    const balance = await cmcClient.getBalance();
    console.log("Balance:", balance);

    // 1. Inicie o Playwright e abra a página com o formulário
    const browser = await chromium.launch({ headless: false });
    const context = await browser.newContext();
    const page = await context.newPage();
    await page.goto("https://example.com/form"); // 2. Obtenha a URL da CAPTCHA da página (exemplo via seletor <img>)

    // 2. Obtenha a URL da CAPTCHA da página (exemplo via seletor <img>)
    const captchaUrl = await page.getAttribute("#captcha-img", "src");

    // 3. Baixe a imagem e converta para Base64
    const response = await fetch(captchaUrl);
    const imageBuffer = await response.arrayBuffer();
    const imageBase64 = Buffer.from(imageBuffer).toString('base64');

    // 4. Crie a requisição para resolver a ImageToText
    const imageToTextRequest = new ImageToTextRequest({
        body: imageBase64,
        CapMonsterModule: CapMonsterModules.YandexWave, // ou outro módulo
        Case: true,
        numeric: 0,
        recognizingThreshold: 65,
        math: false
    });

    // 5. Obtenha a solução da CAPTCHA
    const result = await cmcClient.Solve(imageToTextRequest);
    console.log("Captcha solution:", result.solution.text);

    // 6. Insira a solução no campo do formulário e envie
    await page.fill("#captcha-input", result.solution.text); // Substitua pelo seu seletor
    await page.click("#submit-button"); // Substitua pelo seletor do seu botão
    await page.waitForLoadState("networkidle");

    console.log("Formulário enviado com a solução da CAPTCHA");

    // 7. Feche o navegador
    await browser.close();
}

solveImageToTextAndFillField().catch(console.error);


  
Como conectar uma CAPTCHA de texto ao seu site
Para compreender totalmente o funcionamento da CAPTCHA no seu site, entender a lógica de verificação ou reconfigurar, recomendamos esta seção. Ela descreve o processo de integração da proteção — ajudando a entender rapidamente todos os detalhes.

Passo 1. Escolha uma abordagem

Primeiro, decida como irá usar a CAPTCHA:

Opção 1 — fornecedor externo

Adequado se precisar de implementação rápida e suporte mínimo.

Vantagens:

  • Integração rápida
  • Proteção pronta contra bots
  • Não precisa atualizar algoritmos manualmente

Desvantagens:

  • Dependência de serviço externo
  • Customização limitada

Opção 2 — CAPTCHA de texto personalizada

Adequado se precisar de controle total e integração própria.

Vantagens:

  • Controle total sobre lógica e design
  • Sem dependências externas
  • Pode ser adaptada a cenários específicos

Desvantagens:

  • É necessário implementar a proteção contra bots manualmente
  • Requer manutenção e ajustes ao longo do tempo

Passo 2. Implemente a geração da CAPTCHA

Para fornecedor externo

  • Registre-se no serviço
  • Obtenha as chaves (site key / secret key)
  • Inclua o script na página do formulário

Para CAPTCHA personalizada

  • Gere uma sequência aleatória de caracteres (números ou letras)
  • Renderize na imagem (Canvas, SVG ou geração no servidor)
  • Adicione distorções: ruído, linhas, rotação dos caracteres

Passo 3. Mostre a CAPTCHA ao usuário

  • Insira a imagem da CAPTCHA próxima ao formulário
  • Adicione um campo de entrada de texto
  • Implemente um botão de atualização da CAPTCHA

Importante: cada carregamento deve gerar um novo código.

Passo 4. Envie os dados para o servidor

Ao enviar o formulário, envie:

  • O texto digitado pelo usuário
  • ID da CAPTCHA ou token de sessão

Para CAPTCHA personalizada, o código não deve ser armazenado no cliente — apenas no servidor.

Passo 5. Verifique a CAPTCHA no servidor

Fornecedor

  • Envie o token da CAPTCHA para o servidor do fornecedor
  • Receba o resultado da verificação (sucesso / erro)

CAPTCHA personalizada

  • Compare o texto inserido com o valor armazenado
  • Considere o tempo de validade da CAPTCHA (ex: 1–2 minutos)

Passo 6. Tome uma decisão

  • Se a CAPTCHA for resolvida — execute a ação (login, registro, envio do formulário)
  • Se não — exiba um erro e gere uma nova CAPTCHA

Passo 7. Reforce a proteção (recomendado)

Mesmo para CAPTCHA de texto, recomenda-se adicionar:

  • Limite de tentativas
  • Vinculação ao IP, sessão ou cookie
  • Tokens temporários (únicos)
  • Registrar atividades suspeitas
Background
Possíveis erros e depuração
Bug Icon
CAPTCHA de imagem não carrega
(Imagem vazia, 404/500 ou erro de geração) — geralmente causado por lógica incorreta de geração. Certifique-se de que o servidor cria a imagem corretamente e a envia ao cliente, e que o caminho do endpoint está correto.
Bug Icon
Código CAPTCHA inválido ou vazio
Verifique se a entrada do usuário é realmente enviada para o servidor e comparada com o valor armazenado da CAPTCHA.
Bug Icon
Códigos não coincidem mesmo com entrada correta

Certifique-se de que:

  • A CAPTCHA não seja regenerada antes da verificação;
  • O código seja armazenado separadamente para cada sessão ou token;
  • O tempo de validade da CAPTCHA não tenha expirado.
Bug Icon
Tempo de vida da CAPTCHA expirou
Aumente o TTL da CAPTCHA no servidor ou gere uma nova em tentativas subsequentes.
Verificação da robustez
Depois da integração, confirme que o sistema de fato protege o site contra ações automatizadas.
Recomendações de segurança e otimização
Armazene a resposta correta da CAPTCHA apenas no <b>servidor</b> (memória, Redis ou DB), não a envie ao cliente.
Use tokens únicos ou identificadores da CAPTCHA.
Limite o número de tentativas por CAPTCHA.
Use sempre HTTPS para enviar dados do formulário e respostas da CAPTCHA.
Registre erros de geração e verificação da CAPTCHA (hora, IP, motivo) — facilita depuração e análise de ataques.
Atualize regularmente o algoritmo de geração (fontes, distorções, ruído).
Conclusão

Se você recebeu um site com CAPTCHA ou outro sistema de proteção já instalado e não tem acesso ao código — não se preocupe! É fácil identificar qual tecnologia está sendo usada. Para verificar a funcionalidade, você pode usar o serviço de reconhecimento CapMonster Cloud em um ambiente de teste isolado para garantir que o processamento de tokens e a lógica de verificação funcionem corretamente.

No caso da CAPTCHA de imagem — basta identificar o sistema, estudar seu comportamento e garantir que a proteção funcione corretamente. Este artigo mostrou como identificar a CAPTCHA de imagem (ComplexImage) e como conectá-la ou reconfigurá-la para manter a proteção de forma segura e controlada.

Conclusion
Links úteis
DocIconDocumentação CapMonster Cloud (trabalho com CAPTCHA de texto)DocIconGuia: como criar sua própria CAPTCHADocIconCadastro no CapMonster Cloud