logo
bars

CAPTCHA testuale (ImageToText)
e CapMonster Cloud

Risoluzione del captcha, integrazione 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 ImageToText, il passo successivo è analizzarne più nel dettaglio le proprietà e il funzionamento. In questo stesso articolo puoi anche studiare la guida all’integrazione di ImageToText, 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'è ImageToText CAPTCHA
Cos'è ImageToText CAPTCHA
ImageToText CAPTCHA è un sistema classico di protezione dei siti web basato sul riconoscimento del testo dalle immagini. L'utente deve inserire i caratteri (lettere, numeri o una loro combinazione) mostrati in un'immagine distorta. Questo metodo permette di distinguere gli esseri umani dagli script automatizzati. Viene utilizzato per proteggere moduli di registrazione, login, invio di messaggi, commenti e per prevenire richieste automatiche massicce.

Come risolvere ImageToText CAPTCHA tramite CapMonster Cloud

Durante il test dei moduli con ImageToText CAPTCHA, spesso è necessario verificare che il captcha funzioni correttamente e sia integrato correttamente.
Puoi testare manualmente il captcha integrato nel tuo sito:
  • Apri la pagina con il modulo e assicurati che il captcha sia visualizzato.
  • Prova a inviare il modulo senza risolvere il captcha — il server dovrebbe restituire un errore.
  • Dopo una risoluzione corretta del captcha, il modulo dovrebbe essere inviato senza errori.
Per il riconoscimento automatico del captcha, puoi utilizzare servizi specializzati come CapMonster Cloud — uno strumento che riceve i parametri del captcha, li elabora sui propri server e restituisce una risposta pronta. Questa risposta può essere inserita nel campo corrispondente per completare la verifica 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 dei captcha basati su immagini utilizzando librerie pronte
Il servizio CapMonster Cloud fornisce librerie pronte per l’uso nei linguaggi Python, JavaScript (Node.js) e C#.
Python
JavaScript
C#
Risoluzione, inserimento della risposta e invio del modulo
Esempio in Node.js per l’intero ciclo di riconoscimento del captcha sulla tua pagina web. Possibili approcci: utilizzare richieste HTTP per ottenere l’HTML e i parametri del sistema di protezione, inviare la risposta e gestire il risultato. Oppure, come nell’esempio sottostante, usare strumenti di automazione (ad esempio Playwright) — aprire la pagina, attendere la verifica, inviare i parametri tramite il client CapMonster Cloud, ottenere il risultato, inserirlo nel campo corrispondente (per test puoi usare dati corretti o errati) e osservare il risultato.

  // 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"; // Inserisci la tua chiave API di CapMonster Cloud

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

    // Puoi anche controllare il saldo
    const balance = await cmcClient.getBalance();
    console.log("Balance:", balance);

    // 1. Avvia Playwright e apri la pagina con il modulo
    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. Ottieni l’URL del captcha dalla pagina (esempio tramite selettore <img>)

    // 2. Ottieni l’URL del captcha dalla pagina (esempio tramite selettore <img>)
    const captchaUrl = await page.getAttribute("#captcha-img", "src");

    // 3. Scarica l’immagine e converti in Base64
    const response = await fetch(captchaUrl);
    const imageBuffer = await response.arrayBuffer();
    const imageBase64 = Buffer.from(imageBuffer).toString('base64');

    // 4. Crea una richiesta per risolvere ImageToText
    const imageToTextRequest = new ImageToTextRequest({
        body: imageBase64,
        CapMonsterModule: CapMonsterModules.YandexWave, // o un altro modulo
        Case: true,
        numeric: 0,
        recognizingThreshold: 65,
        math: false
    });

    // 5. Ottieni la soluzione del captcha
    const result = await cmcClient.Solve(imageToTextRequest);
    console.log("Captcha solution:", result.solution.text);

    // 6. Inserisci la soluzione nel campo del modulo e invia
    await page.fill("#captcha-input", result.solution.text); // Sostituire con il tuo selettore
    await page.click("#submit-button"); // Sostituire con il selettore del tuo pulsante
    await page.waitForLoadState("networkidle");

    console.log("Modulo inviato con soluzione del captcha");

    // 7. Chiudi il browser
    await browser.close();
}

solveImageToTextAndFillField().catch(console.error);


  
Come collegare un captcha testuale al tuo sito
Per comprendere bene il funzionamento del captcha sul tuo sito, la logica di verifica, o per riconnetterlo o riconfigurarlo, ti consigliamo di studiare questa sezione. Descrive il processo di integrazione della protezione e aiuta a capire rapidamente tutti i dettagli.

Passo 1. Scegli l’approccio

Per prima cosa devi decidere come utilizzare il captcha:

Opzione 1 — Fornitore esterno

Adatto se serve una rapida integrazione e minima manutenzione.

Vantaggi:

  • Integrazione rapida
  • Protezione dai bot pronta
  • Nessun aggiornamento manuale degli algoritmi necessario

Svantaggi:

  • Dipendenza da un servizio esterno
  • Personalizzazione limitata

Opzione 2 — CAPTCHA testuale personalizzato

Adatto se serve pieno controllo e integrazione su misura.

Vantaggi:

  • Controllo totale sulla logica e sul design
  • Nessuna dipendenza esterna
  • Adattabile a scenari specifici

Svantaggi:

  • Bisogna implementare la protezione dai bot da soli
  • Richiede manutenzione e miglioramenti nel tempo

Passo 2. Implementa la generazione del captcha

Per un fornitore

  • Registrati al servizio
  • Ottieni le chiavi (site key / secret key)
  • Integra lo script nella pagina con il modulo

Per captcha personalizzato

  • Genera una stringa casuale (numeri o lettere)
  • Visualizzala su un’immagine (Canvas, SVG o generazione lato server)
  • Aggiungi distorsioni: rumore, linee, rotazione dei caratteri

Passo 3. Mostra il captcha all’utente

Importante: ogni caricamento deve generare un nuovo codice.

Passo 4. Trasmetti i dati al server

Al momento dell’invio del modulo, invia:

Per captcha personalizzato, il codice non deve essere memorizzato sul client — solo sul server.

Passo 5. Verifica il captcha sul server

Fornitore

Captcha personalizzato

Passo 6. Prendi una decisione

Passo 7. Rafforza la protezione (consigliato)

Anche per un captcha testuale è consigliabile aggiungere:

Background
Possibili errori e debug
Bug Icon
Il captcha basato su immagini non si carica
(Immagine vuota, 404/500 o errore di generazione) — di solito dovuto a logica di generazione errata. Assicurati che il server generi correttamente l’immagine e la restituisca al client, e che il percorso dell’endpoint sia corretto.
Bug Icon
Codice captcha non valido o vuoto
Verifica che l’input dell’utente sia effettivamente trasmesso al server e confrontato con il valore del captcha salvato.
Bug Icon
Codici non corrispondenti nonostante l’input corretto

Assicurati che:

  • Il captcha non venga rigenerato prima della verifica;
  • Il codice sia memorizzato separatamente per ogni sessione o token;
  • Il captcha non sia scaduto.
Bug Icon
Tempo di vita del captcha scaduto
Aumenta il TTL del captcha sul server o aggiorna il captcha in caso di tentativi ripetuti.
DocIconDocumentazione CapMonster Cloud (lavoro con captcha testuali)DocIconGuida: come creare il tuo captchaDocIconRegistrazione a CapMonster Cloud