Prosopo Procaptcha
e CapMonster Cloud

Solução de captcha, instalação no site e testes.

Preços da solução Prosopo Procaptcha

CAPTCHA
Preço (USD)
$ 1.30
1000 tokens
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 Prosopo Procaptcha, 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 Prosopo Procaptcha, 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 é Procaptcha
O que é Procaptcha
Procaptcha é um sistema de proteção da empresa Prosopo, criado para prevenir spam e ações automáticas que possam prejudicar o site. Ele ajuda a diferenciar usuários reais de bots, garantindo a segurança e o funcionamento estável do site. Se o sistema suspeitar da autenticidade do visitante, ele propõe uma tarefa de verificação (por exemplo, selecionar determinadas imagens), enquanto usuários reais continuam navegando normalmente.
Background
Exemplos de Prosopo Procaptcha
Frictionless CAPTCHA
Frictionless CAPTCHA
Captcha invisível. Determina automaticamente se o visitante é um usuário real ou um bot. Se o usuário se comportar naturalmente (navegador normal, sem automação), a captcha é resolvida de forma imperceptível. Se forem detectados sinais de bot, o usuário receberá uma tarefa adicional image.
Proof of Work (PoW) CAPTCHA
Proof of Work (PoW) CAPTCHA
Captcha baseada em tarefa computacional, ou seja, obriga seu dispositivo a resolver uma pequena tarefa em segundo plano. O objetivo principal é impedir bots massivos e spam, pois sistemas automatizados precisam gastar tempo e recursos para concluir a tarefa. Para humanos, geralmente é quase imperceptível.
Image CAPTCHA
Image CAPTCHA
Captcha visual clássica. Mostra imagens e solicita selecionar aquelas que correspondem à condição (por exemplo, 'selecione todos os cavalos').

Como resolver Procaptcha através do CapMonster Cloud

Ao testar formulários com Prosopo Procaptcha, é comum precisar confirmar se a captcha está funcionando e integrada corretamente.

Você pode testar manualmente a captcha incorporada no site.

  • Abra a página do formulário e veja se a captcha é exibida.
  • Tente enviar sem resolver — o servidor deve retornar erro.
  • Depois de resolver corretamente, o envio precisa ocorrer sem falhas.

Para resolver automaticamente use ferramentas como o CapMonster Cloud, que recebe os parâmetros da captcha, processa em seus servidores e devolve um token pronto. Basta inseri-lo no formulário para passar na verificação sem interação humana.

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 do Procaptcha usando bibliotecas prontas
O serviço CapMonster Cloud fornece bibliotecas prontas para facilitar o trabalho nas linguagens Python, JavaScript (Node.js) e C#.
Python
JavaScript
C#
Solução, inserção do token e envio do formulário
Exemplo em Node.js para o ciclo completo de reconhecimento de captcha na sua página web. Abordagens possíveis: usar requisições HTTP para obter HTML e parâmetros da captcha, enviar a resposta e processar o resultado; ou usando ferramentas de automação (por exemplo, Playwright) — abrir a página, aguardar a captcha, enviar parâmetros (para testes você pode enviar dados corretos ou incorretos), obter o resultado através do cliente CapMonster Cloud, inserir o token no formulário e verificar o resultado.

async function sendTokenToSite(token) {
    // URL do formulário ou endpoint para envio do token
    const formURL = "https://example..com/en/your-form-endpoint";

    // Exemplo de dados do formulário
    const formData = {
        email: "example@example.com",
        password: "yourpassword",
        "procaptcha-response": token // token do Procaptcha
    };

    try {
        const response = await fetch(formURL, {
            method: "POST",
            headers: {
                "Content-Type": "application/json", // или 'application/x-www-form-urlencoded' dependendo do site
            },
            body: JSON.stringify(formData),
        });

        const result = await response.text(); // ou response.json() se o servidor retornar JSON
        console.log("Server response:", result);
    } catch (err) {
        console.error("Error sending token:", err);
    }
}

// Função principal
async function solveAndSend() {
    const client = CapMonsterCloudClientFactory.Create(
        new ClientOptions({ clientKey: API_KEY })
    );

    const prosopoRequest = new ProsopoRequest({
        websiteURL: "https://example.com/en/",
        websiteKey: "5EZU3LG31uzq1Mwi8inwqxmfvFDpj7VzwDnZwj4Q3syyxBwV"
    });

    const balance = await client.getBalance();
    console.log("Balance:", balance);

    const result = await client.Solve(prosopoRequest);
    console.log("Captcha solution:", result);

    // Envio do token para o site
    await sendTokenToSite(result.solution); // result.solution contém o token Procaptcha
}

solveAndSend().catch(console.error);

Como conectar Procaptcha ao seu site
Para entender com segurança o funcionamento da captcha no seu site, compreender a lógica de verificação, reconectar ou reconfigurar, recomendamos estudar esta seção. Ela descreve o processo de conexão da proteção — ajudando a compreender todos os detalhes rapidamente.

1. Obtenha as chaves (sitekey e secret key)

  • 1) Acesse Portal Prosopo.
  • 2) Vá para Site Management
  • 3) Clique em Reveal — aparecerão duas chaves:
    • sitekey — pública, usada no cliente.
    • secret key — privada, usar apenas no servidor.
Importante: Cada widget cria seu próprio conjunto de chaves. Não podem ser reutilizadas para outro projeto.

2. Adicione seu domínio

  • 1) Vá para Account → Domains.
  • 2) Certifique-se de que seu domínio está listado.
  • 3) Se estiver testando localmente — adicione localhost.
  • 4) Antes do ambiente de produção, remova localhost.

3. Conecte o script Procaptcha

Coloque a tag em <head>

<script type="module" src="https://js.prosopo.io/js/procaptcha.bundle.js" async defer></script>>

4. Opção 1: Implicit rendering (renderização automática) — MAIS SIMPLES

Adicione um container onde a captcha aparecerá automaticamente:

<div class="procaptcha" data-sitekey="your_site_key"></div>

Normalmente localizado dentro do formulário.

Exemplo de formulário completoExemplo de formulário completo
arrow

Após a verificação bem-sucedida, será adicionado um parâmetro oculto:

5. Opção 2: Explicit rendering (renderização manual) — MAIS CONTROLE

Exemplo HTMLExemplo HTML
arrow
Exemplo JavaScriptExemplo JavaScript
arrow

6. Configuração do tipo de captcha (opcional)

Pode-se escolher explicitamente:

  • frictionless (padrão)
  • pow
  • image

Por exemplo:


<div class="procaptcha"
     data-sitekey="your_site_key"
     data-captcha-type="pow">
</div>

7. Etapa obrigatória: verificação do token no servidor

Após renderizar a captcha, o servidor deve verificar a resposta. A verificação é feita via API:

POST
https://api.prosopo.io/siteverify

Conteúdo da requisição:

{
    "secret": "your_secret_key",
    "token": "PROCAPTCHA-RESPONSE"
}

8. Verificação no servidor em PHP

Exemplo de código:Exemplo de código:
arrow

O que é considerado uma verificação bem-sucedida?

Se o servidor Procaptcha retornar:

{
    "verified": true
}

captcha aprovada, você pode realizar a ação protegida (por exemplo, registrar um usuário).

Background
Possíveis erros e depuração
Bug Icon
Chave do site inválida
Está sendo usada uma chave incorreta ou inválida. Solução: verifique se está usando a chave correta, que pode ser encontrada no painel do Procaptcha.
Bug Icon
URL de origem não autorizada
O domínio onde o widget está instalado não corresponde ao domínio vinculado à site key. Solução: verifique e atualize a lista de domínios nas configurações do portal Procaptcha.
Bug Icon
Sessão não encontrada
Sessão não encontrada ou expirada. Solução: aguarde o widget recarregar (~3 segundos) ou atualize a página. Se o erro persistir, limpe cache e cookies do navegador ou contate o suporte.
Bug Icon
Resposta success=false
O token expirou, foi reutilizado ou não passou na verificação. Para diagnóstico, ative o registro de solicitações e verifique o campo error na resposta do Procaptcha.
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
Mantenha a <span class="font-bold">Secret Key</span> apenas no servidor. Nunca a passe para o cliente.
Registre os códigos de erro <span class="font-bold">(error-codes)</span> para entender por que verificações específicas falharam.
Adicione links no final dos formulários para a <span class="font-bold">Política de Privacidade</span> e os <span class="font-bold">Termos de Uso do Procaptcha</span>, se necessário na sua implementação.
Conclusão

Se você herdou um site que já tem um captcha ou outro sistema de proteção instalado e não tem acesso ao código, não tem problema! É bem fácil identificar qual tecnologia está sendo usada. Para verificar se tudo está funcionando corretamente, você pode usar o serviço de reconhecimento CapMonster Cloud em um ambiente de testes isolado, para garantir que o mecanismo de processamento de tokens e a lógica de verificação estejam funcionando corretamente.

No caso de Prosopo Procaptcha, basta identificar o sistema, analisar o comportamento dele e se certificar de que a proteção está funcionando corretamente. No artigo, mostramos como identificar Prosopo Procaptcha e onde encontrar instruções para a integração ou reconfiguração, para que você consiga manter a proteção com segurança e controlar o funcionamento dela.

Conclusion
Links úteis
DocIconDocumentação ProcaptchaDocIconPortal ProsopoDocIconDocumentação CapMonster Cloud (trabalho com Procaptcha)

Perguntas frequentes sobre Prosopo Procaptcha

Procaptcha utiliza três tipos de verificação e escolhe o mais adequado com base no nível de risco da sessão do visitante:

  • Frictionless CAPTCHA: Executa em segundo plano e verifica o visitante de forma invisível se os sinais do navegador e o comportamento parecerem humanos. Sessões suspeitas podem ser escaladas para um desafio visível.
  • Proof of Work (PoW) CAPTCHA: Atribui ao dispositivo do visitante uma pequena tarefa computacional, tornando as solicitações automatizadas em larga escala mais custosas, permanecendo quase imperceptível para usuários reais.
  • Image CAPTCHA: Mostra um desafio visual, como selecionar todas as imagens que correspondam a um prompt como «Selecione todos os cavalos».

Você pode especificar o modo de verificação usando o atributo data-captcha-type no div do widget. Defina-o como frictionless para verificações invisíveis em segundo plano, pow para o puzzle Proof of Work, ou image para o desafio clássico de seleção de imagens.

Por exemplo:

<div class="procaptcha"
     data-sitekey="your_site_key"
     data-captcha-type="pow">
</div>

O valor do seu data-captcha-type no lado do cliente deve corresponder estritamente ao tipo de CAPTCHA configurado nas configurações da sua conta Prosopo Portal.

Sim, você pode integrar a solução em qualquer script Python usando solicitações HTTP universais.

Solicitar um ID de tarefa: Envie uma solicitação POST ao endpoint createTask com sua chave API, websiteURL e websiteKey.

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ProsopoTask",
    "websiteURL": "https://example.com",
    "websiteKey": "SITE_KEY"
  }
}

Consultar o resultado: Envie o taskId recebido ao endpoint getTaskResult até que o status seja ready.

{
  "clientKey": "YOUR_API_KEY",
  "taskId": 123456789
}

Usar o token: Extraia a string do objeto solution e passe-a como valor de procaptcha-response na sua carga HTTP (requests, aiohttp) ou injete-a no DOM (Playwright, Puppeteer, Selenium).

Procaptcha suporta um atributo data-callback no div do widget para renderização implícita, ou uma propriedade callback no objeto de configuração para renderização explícita.

A função especificada é chamada automaticamente quando a captcha é resolvida, recebendo a string do token como primeiro argumento — nesse momento você pode habilitar o botão de envio, acionar uma solicitação AJAX ou armazenar o token no estado do componente.

Usar um callback é geralmente mais limpo do que consultar o campo procaptcha-response, pois elimina condições de corrida entre a resolução do widget e o envio do formulário.

Playwright, Puppeteer ou Selenium são abordagens compatíveis para automatizar a injeção de tokens Procaptcha resolvidos. O fluxo geral é idêntico:

  1. Navegar para a página de destino
  2. Aguardar o carregamento do widget Procaptcha
  3. Solicitar um token ao CapMonster Cloud via API (ou SDK cliente)
  4. Injetar o token retornado na página usando os métodos nativos de manipulação do DOM do framework antes de acionar o envio do formulário.