logo
bars

MTCaptcha
e CapMonster Cloud

Soluzione captcha, installazione sul sito e test.
Hai ereditato un sito con una captcha o un'altra protezione ma senza accesso al codice sorgente? È normale chiedersi quale soluzione sia installata, se sia configurata correttamente e come testarla.

In questo articolo abbiamo cercato di rispondere a tutte le domande principali. Il primo passo per risolvere il problema è capire quale sistema di protezione viene utilizzato. A questo scopo puoi consultare l’elenco dei captcha e dei sistemi di protezione antibot più diffusi, dove trovi esempi visivi e caratteristiche chiave che ti aiutano a identificare rapidamente con cosa hai a che fare.

Se scopri che sul tuo sito viene utilizzato MTCaptcha, il passo successivo è analizzarne più nel dettaglio le proprietà e il funzionamento. In questo stesso articolo puoi anche studiare la guida all’integrazione di MTCaptcha, per comprendere a fondo come opera sul tuo sito. Questo ti permetterà non solo di capire la protezione attuale, ma anche di pianificarne correttamente la manutenzione.

Cos'è MTCaptcha
Cos'è MTCaptcha
MTCaptcha è un sistema di protezione dei siti web contro azioni automatizzate, che utilizza verifiche intelligenti e captcha. Prima, il servizio analizza il traffico in background. Se il comportamento del visitatore sembra sospetto, il sistema mostra automaticamente un captcha testuale per una verifica aggiuntiva.

Come risolvere MTCaptcha tramite CapMonster Cloud

Quando testi form che includono MTCaptcha devi spesso verificare che la captcha funzioni e sia integrata correttamente.

Puoi verificare manualmente la captcha inserita nel tuo sito.

  • Apri la pagina del form e assicurati che la captcha venga visualizzata.
  • Prova a inviare il form senza risolverla: il server dovrebbe restituire un errore.
  • Dopo una soluzione corretta il form deve essere inviato senza problemi.

Per la risoluzione automatica puoi usare strumenti come CapMonster Cloud, che accetta i parametri della captcha, li elabora sui propri server e restituisce un token pronto all'uso. Inserisci quel token nel form per superare il controllo senza intervento dell'utente.

Lavorare con CapMonster Cloud via API di solito prevede i seguenti passaggi:

Creazione della taskCreazione della task
arrow
Invio della richiesta APIInvio della richiesta API
arrow
Ricezione del risultatoRicezione del risultato
arrow
Inserimento del token nella paginaInserimento del token nella pagina
arrow
Riconoscimento MTCaptcha usando librerie pronte all'uso
Il servizio CapMonster Cloud fornisce librerie pronte per lavorare comodamente in Python, JavaScript (Node.js) e C#.
Python
JavaScript
C#
Risoluzione, inserimento del token e invio del form
Esempio in Node.js per il ciclo completo di riconoscimento captcha sulla tua pagina web. Approcci possibili: usare richieste HTTP per ottenere HTML e parametri del captcha, inviare la risposta e processare il risultato; oppure usare strumenti di automazione (ad esempio Playwright) — aprire la pagina, attendere il captcha, inviare i parametri (per test puoi inviare dati corretti o errati), ottenere il risultato tramite il client CapMonster Cloud, inserire il token nel form e vedere il risultato.

  // 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'
  });

  // Risoluzione 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);

  
  // Inseriamo il token e inviamo il form (sostituire con il selettore corretto)
  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);
});
Come collegare MTCaptcha al tuo sito
Per capire con sicurezza il funzionamento del captcha sul tuo sito, comprendere la logica, ricollegarlo o riconfigurarlo, ti consigliamo di studiare questa sezione. Descrive il processo di integrazione della protezione — aiutandoti a comprendere rapidamente tutti i dettagli.

1. Registrati o accedi al tuo account MTCaptcha.

2. Dopo la registrazione, aggiungi il tuo sito. Riceverai due chiavi.

  • Site Key — chiave pubblica per il frontend, per mostrare il widget.
  • Private Key — chiave privata per il server, per verificare le soluzioni captcha. Conservala solo sul server, non passarla al client.

Esempio:

HowTo Connect image 1

3. Configura il client MTCaptcha:

Inserisci il codice nel <head> della pagina.

Sostituisci <YOUR SITE KEY> con la tua Site Key ottenuta dal pannello 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>


Aggiungi il contenitore captcha nel <body>

Dove vuoi visualizzare il captcha (ad esempio all'interno di un form):

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

Il widget si caricherà automaticamente.

HelpIcon

Puoi usare i SDK e plugin pronti per una rapida integrazione:

  • SDK lato server: Java, Node.js, PHP
  • SDK lato client: React, React Native, Vue
  • Plugin CMS: WordPress, Drupal

MTCaptcha offre anche una comoda pagina demo dove puoi testare e configurare la protezione prima di implementarla sul tuo sito.

4. Lato server. Ottieni Verified-Token sul client.

Tramite campo nascosto nel form:

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

Oppure tramite JS:

mtcaptcha.getVerifiedToken() / mtcaptchaVerifiedCallback(status)

Invia il token al server insieme al form o alla richiesta.

Verifica il token tramite API (verifica server-side):

GET https://service.mtcaptcha.com/mtcv1/api/checktoken?privatekey=<PRIVATE_KEY>&token=<TOKEN>
  • privatekey — la tua chiave privata (solo server)
  • token — token dal client

URL alternativo per server con firewall:

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

Elabora la risposta:

success: true → captcha superato, continua elaborazione.

EsempioEsempio
arrow

success: false → errore (token scaduto, riutilizzato, ecc.)

HelpIcon
Ogni verifiedToken è valido per pochi minuti e può essere verificato solo una volta tramite l'API CheckToken, evitando riutilizzi. Dopo aver ricevuto il token, il server deve verificarlo in tempo — il widget MTCaptcha garantisce almeno 50 secondi per la validazione.

Esempio semplice con il modulo MTCaptcha in Node.jsEsempio semplice con il modulo MTCaptcha in Node.js
arrow

HelpIcon

Per uno studio dettagliato delle funzionalità MTCaptcha — personalizzazione del widget, configurazione client/server, integrazione con framework e altri aspetti — consulta la documentazione ufficiale.

Background
Possibili errori e debug
Bug Icon
Sito o chiave non validi
Il captcha non si carica o il server restituisce invalid-privatekey o privatekey-mismatch-token. Assicurati di usare la coppia corretta di sitekey e privatekey.
Bug Icon
Token mancante o non valido
Errori missing-input-token, invalid-token, bad-request. Verifica che il valore del token venga inviato al server e non venga modificato.
Bug Icon
Token scaduto (token-expired)
Il token è valido per un tempo limitato (di solito ~120 secondi), dopodiché deve essere ottenuto nuovamente.
Bug Icon
Rivalidazione token (token-duplicate-cal)
Il token può essere verificato solo una volta — protezione contro attacchi replay.
Bug Icon
Chiave scaduta o disattivata (expired-sitekey-or-account)
Assicurati che le chiavi siano valide e l'account attivo.
Bug Icon
Per la diagnosi, abilita il logging delle richieste e visualizza i fail_codes per capire la causa dell'errore.
Verifiche della resilienza della protezione
Suggerimenti di sicurezza e ottimizzazione
Conservate la <b>privatekey solo sul server</b> — non inviatela al client.
Registrate i <b>fail_codes</b> per monitorare le cause degli errori e analizzare i tentativi di aggirare la protezione.
Inserite nel modulo i link alla <b>Privacy Policy</b> e ai <b>Termini di Utilizzo</b>, se richiesto dalla politica della vostra piattaforma.
Conclusione

Se ti è capitato un sito con un captcha o un altro sistema di protezione già installato e senza accesso al codice, nessun problema! È piuttosto facile capire quale tecnologia viene utilizzata. Per verificare che tutto funzioni correttamente, puoi usare il servizio di riconoscimento CapMonster Cloud in un ambiente di test isolato, così da assicurarti che il meccanismo di elaborazione dei token e la logica di verifica funzionino correttamente.

Nel caso di MTCaptcha, è sufficiente individuare il sistema, analizzarne il comportamento e assicurarsi che la protezione funzioni correttamente. Nell’articolo abbiamo mostrato come riconoscere MTCaptcha e dove trovare le istruzioni per la sua integrazione o riconfigurazione, in modo da poter mantenere la protezione in modo affidabile e controllarne il funzionamento.

Conclusion
Link utili
DocIconDocumentazione MTCaptchaDocIconDocumentazione CapMonster Cloud (lavorare con MTCaptcha)DocIconSDK e plugin per integrazione rapida di MTCaptchaDocIconPagina demo (Code Builder) MTCaptcha