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
Herdou um site com captcha ou outra proteção mas sem acesso ao código-fonte? É natural perguntar qual solução está instalada, se está configurada corretamente e como testá-la.

Neste artigo procurámos responder a todas as questões importantes. Para começar a resolver o problema, o primeiro passo é identificar que sistema de proteção está a ser utilizado. Para isso, pode consultar a lista de captchas e sistemas de proteção antibot mais populares, onde encontrará exemplos visuais e sinais principais que ajudam a perceber rapidamente com o que está a lidar.

Se verificar que o seu site utiliza Prosopo Procaptcha, o passo seguinte é analisar mais detalhadamente as suas características e o seu funcionamento. Neste mesmo artigo também pode consultar o guia de integração de Prosopo Procaptcha, para compreender totalmente como o sistema funciona no seu site. Isto permitirá não só entender a proteção atual, como também planear corretamente 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. Ajuda a diferenciar usuários reais de bots, garantindo segurança e funcionamento estável do site. Se o sistema suspeitar da autenticidade do visitante, ele propõe uma tarefa de verificação (por exemplo, selecionar certas 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 é parar bots massivos e spam, pois sistemas automatizados precisam gastar tempo e recursos para resolver 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 que incluem Prosopo Procaptcha, é comum precisar verificar se a captcha foi integrada e funciona corretamente.

Pode testar manualmente a captcha incorporada no seu site.

  • Abra a página do formulário e confirme que a captcha é apresentada.
  • Tente enviar o formulário sem resolvê-la — o servidor deve devolver um erro.
  • Após uma resolução bem-sucedida, o formulário deve ser enviado sem problemas.

Para resolução automática recorra a ferramentas como o CapMonster Cloud, que recebe os parâmetros da captcha, processa-os nos seus servidores e devolve um token pronto. Basta inseri-lo no formulário para ultrapassar a verificação sem interação do utilizador.

Trabalhar com o CapMonster Cloud através da API normalmente envolve os passos seguintes:

Criação da tarefaCriação da tarefa
arrow
Envio do pedido APIEnvio do pedido API
arrow
Receção do resultadoReceção 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 trabalho fácil 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 o 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 resultado pelo cliente CapMonster Cloud, inserir o token no formulário e verificar o resultado.

async function sendTokenToSite(token) {
    // URL do formulário ou endpoint para enviar o 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 ao 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 em 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 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
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ções de robustez
Depois da integração, certifique-se de que o sistema protege efetivamente 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 exponha ao 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 exigido pela sua implementação.
Conclusão

Se 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 há problema! É bastante fácil identificar qual a tecnologia que está a ser utilizada. Para verificar se tudo está a funcionar corretamente, pode usar o serviço de reconhecimento CapMonster Cloud num ambiente de teste isolado, para garantir que o mecanismo de processamento de tokens e a lógica de verificação estão a funcionar corretamente.

No caso de Prosopo Procaptcha, basta identificar o sistema, analisar o seu comportamento e confirmar que a proteção está a funcionar corretamente. No artigo, mostramos como identificar Prosopo Procaptcha e onde encontrar instruções para a sua integração ou reconfiguração, para que possa manter a proteção com confiança e controlar o seu funcionamento.

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 utilizadores reais.
  • Image CAPTCHA: Mostra um desafio visual, como selecionar todas as imagens que correspondam a um prompt como «Selecione todos os cavalos».

Pode especificar o modo de verificação através do 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 definições da sua conta Prosopo Portal.

Sim, 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 a 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 estado 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 pode ativar 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.