logo
bars

MTCaptcha
e CapMonster Cloud

Solução de captcha, instalaçã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 MTCaptcha, 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 MTCaptcha, 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 é MTCaptcha
O que é MTCaptcha
MTCaptcha é um sistema de proteção de sites contra ações automatizadas, utilizando verificação inteligente e captcha. Primeiro, o serviço analisa o tráfego em segundo plano. Se o comportamento do visitante parecer suspeito, o sistema exibe automaticamente um captcha de texto para verificação adicional.

Como resolver MTCaptcha através do CapMonster Cloud

Ao testar formulários com MTCaptcha, é 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 de MTCaptcha com bibliotecas prontas
O serviço CapMonster Cloud fornece bibliotecas prontas para uso em Python, JavaScript (Node.js) e C#.
Python
JavaScript
C#
Resolução, inserção de token e envio de formulário
Exemplo em Node.js para o ciclo completo de reconhecimento de captcha na sua página web. Possíveis abordagens: usar requisições HTTP para obter HTML e parâmetros do captcha, enviar a resposta e processar o resultado; ou com ferramentas de automação (ex: Playwright) — abrir a página, aguardar o captcha, enviar parâmetros (para testes pode enviar dados corretos ou incorretos), obter resultado via cliente CapMonster Cloud, inserir token no formulário e ver o resultado.

  // npm install playwright @zennolab_com/capmonstercloud-client
import { chromium } from 'playwright';
import { CapMonsterCloudClientFactory, ClientOptions, MTCaptchaRequest } from '@zennolab_com/capmonstercloud-client';

const API_KEY = 'YOUR_API_KEY';
const TARGET_URL = 'https://example.com';

async function main() {
  const browser = await chromium.launch({ headless: false });
  const context = await browser.newContext();
  const page = await context.newPage();

 
  let websiteKey = null;
  page.on('request', request => {
    const url = request.url();
    if (url.startsWith('https://service.mtcaptcha.com/mtcv1/api/getchallenge.json')) {
      const params = new URL(url).searchParams;
      const sk = params.get('sk');
      if (sk) {
        websiteKey = sk;
        console.log('Extracted websiteKey (sk):', websiteKey);
      }
    }
  });

  
  await page.goto(TARGET_URL, { waitUntil: 'networkidle' });

  if (!websiteKey) {
    console.error('Failed to extract websiteKey (sk) from the page');
    await browser.close();
    return;
  }

  
  const client = CapMonsterCloudClientFactory.Create(
    new ClientOptions({ clientKey: API_KEY })
  );

  
  const mtcaptchaRequest = new MTCaptchaRequest({
    websiteURL: TARGET_URL,
    websiteKey: websiteKey,
    isInvisible: false,
    pageAction: 'login'
  });

  // Resolução do captcha
  const result = await client.Solve(mtcaptchaRequest);

  
  const verifiedToken = typeof result?.solution?.value === 'string'
    ? result.solution.value
    : JSON.stringify(result.solution.token);

  console.log('VerifiedToken:', verifiedToken);

  
  // Inserimos o token e enviamos o formulário (substitua pelo seletor correto)
  await page.evaluate((token) => {
    const input = document.querySelector('#mtcaptcha-verifiedtoken-1');
    if (input) input.value = token;
  }, verifiedToken);

  console.log('Token inserted into input');

  
  // await page.click('button[type="submit"]');

  await page.waitForTimeout(5000);

  await browser.close();
}

main().catch(err => {
  console.error('An error occurred:', err);
});
Como conectar o MTCaptcha ao seu site
Para compreender o funcionamento do captcha no site, entender a lógica da verificação, reconectar ou reconfigurar, recomendamos estudar esta seção. Ela descreve o processo de conexão da proteção — ajudando a entender rapidamente todos os detalhes.

1. Registre-se ou faça login na sua conta MTCaptcha.

2. Após o registro, adicione seu site. Você receberá duas chaves.

  • Site Key — chave pública para frontend, para exibir o widget.
  • Private Key — chave privada para servidor, para verificar a validade das soluções de captcha. Armazene apenas no servidor, não passe para o cliente.

Exemplo:

HowTo Connect image 1

3. Configure o cliente MTCaptcha:

Insira o código em <head> da página.

Substitua <YOUR SITE KEY> pela sua Site Key obtida no painel MTCaptcha.


  <head>
  <script>
    var mtcaptchaConfig = {
      sitekey: "<YOUR SITE KEY>"
    };
  
    (function() {
      var mt_service = document.createElement('script');
      mt_service.async = true;
      mt_service.src = 'https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js';
      (document.head || document.body).appendChild(mt_service);
  
      var mt_service2 = document.createElement('script');
      mt_service2.async = true;
      mt_service2.src = 'https://service2.mtcaptcha.com/mtcv1/client/mtcaptcha2.min.js';
      (document.head || document.body).appendChild(mt_service2);
    })();
  </script>
</head>


Adicione o container do captcha em <body>

Onde deseja exibir o captcha (ex: dentro do formulário):

<div class="mtcaptcha"></div>

O widget será carregado automaticamente.

HelpIcon

Você pode usar SDK e plugins prontos para integração rápida:

  • Server-side SDKs: Java, Node.js, PHP
  • Client-side SDKs: React, React Native, Vue
  • Plugins CMS: WordPress, Drupal

O MTCaptcha também oferece uma conveniente página demo onde você pode testar e configurar a proteção antes de conectar ao seu site.

4. Trabalho do lado do servidor. Obtenha Verified-Token no cliente.

Através de campo oculto do formulário:

<input type="hidden" name="mtcaptcha-verifiedtoken" />

Ou via JS:

mtcaptcha.getVerifiedToken() / mtcaptchaVerifiedCallback(status)

Envie o token ao servidor junto com o formulário ou requisição.

Verifique o token via API (verificação no servidor):

GET https://service.mtcaptcha.com/mtcv1/api/checktoken?privatekey=<PRIVATE_KEY>&token=<TOKEN>
  • privatekey — sua chave privada (apenas servidor)
  • token — token do cliente

URL alternativo para servidores com firewall:

https://service2.mtcaptcha.com/mtcv1/api/checktoken

Processar a resposta:

success: true → captcha aprovado, continue o processamento.

ExemploExemplo
arrow

success: false → erro (token expirado, reutilizado, etc.)

HelpIcon
Cada verifiedToken é válido por alguns minutos e só pode ser verificado uma vez via CheckToken API, prevenindo reutilização. Após receber o token, o servidor deve verificá-lo — o widget MTCaptcha garante pelo menos 50 segundos para validação.

Exemplo simples usando o módulo MTCaptcha em Node.jsExemplo simples usando o módulo MTCaptcha em Node.js
arrow

HelpIcon

Para estudar detalhadamente as funcionalidades do MTCaptcha — customização do widget, configuração cliente/servidor, integração com frameworks e outros aspectos — consulte a documentação oficial.

Background
Possíveis erros e depuração
Bug Icon
Site ou chave inválida
Captcha não carrega ou o servidor retorna invalid-privatekey ou privatekey-mismatch-token. Certifique-se de usar o par correto sitekey e privatekey.
Bug Icon
Token ausente ou inválido
Erros missing-input-token, invalid-token, bad-request. Verifique se o valor do token está sendo enviado ao servidor e não foi modificado.
Bug Icon
Token expirado (token-expired)
O token é válido por tempo limitado (normalmente ~120 segundos) e precisa ser obtido novamente após esse período.
Bug Icon
Verificação de token duplicado (token-duplicate-cal)
O token pode ser verificado apenas uma vez — proteção contra ataques de replay.
Bug Icon
Chave expirada ou desativada (expired-sitekey-or-account)
Verifique se as chaves estão atualizadas e a conta está ativa.
Bug Icon
Para diagnóstico, habilite o registro de requisições e exiba fail_codes para entender a causa do erro.
Verificação da robustez
Recomendações de segurança e otimização
Mantenha a <b>privatekey somente no servidor</b> — não a envie para o cliente.
Logue os <b>fail_codes</b> para acompanhar as causas de erros e analisar tentativas de burlar a proteção.
Inclua no formulário links para a <b>Política de Privacidade</b> e os <b>Termos de Uso</b>, se isso for exigido pela política da sua plataforma.
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 MTCaptcha, basta identificar o sistema, analisar o comportamento dele e se certificar de que a proteção está funcionando corretamente. No artigo, mostramos como identificar MTCaptcha 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