Prosopo Procaptcha
e CapMonster Cloud

Risoluzione del captcha, installazione sul sito e test.

Prezzi della soluzione Prosopo Procaptcha

CAPTCHA
Prezzo (USD)
$ 1.30
1000 gettoni
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 Prosopo Procaptcha, il passo successivo è analizzarne più nel dettaglio le proprietà e il funzionamento. In questo stesso articolo puoi anche studiare la guida all’integrazione di Prosopo Procaptcha, 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'è Procaptcha
Cos'è Procaptcha
Procaptcha è un sistema di protezione sviluppato da Prosopo, progettato per prevenire spam e azioni automatiche che potrebbero danneggiare il sito. Aiuta a distinguere gli utenti reali dai bot, garantendo sicurezza e stabilità del sito web. Se il sistema dubita dell'autenticità del visitatore, propone un compito di verifica (ad esempio, selezione di determinate immagini), mantenendo comunque un'esperienza comoda e senza interruzioni per gli utenti reali.
Background
Esempi di Prosopo Procaptcha
Frictionless CAPTCHA
Frictionless CAPTCHA
Captcha invisibile. Rileva automaticamente se il visitatore è un utente reale o un bot. Se l'utente si comporta normalmente (browser standard, senza automazioni), il captcha viene risolto senza essere notato. Se vengono rilevati segni di bot, viene mostrato un compito aggiuntivo image all'utente.
Proof of Work (PoW) CAPTCHA
Proof of Work (PoW) CAPTCHA
Captcha basato su calcolo, ossia fa sì che il tuo dispositivo esegua un piccolo calcolo in background. L'obiettivo principale è fermare i bot massivi e lo spam, poiché i sistemi automatizzati devono spendere tempo e risorse per completare il compito. Per un umano è generalmente quasi impercettibile.
Image CAPTCHA
Image CAPTCHA
Captcha visivo classico. Mostra immagini e chiede di selezionare quelle che soddisfano la condizione (ad esempio, “seleziona tutti i cavalli”).

Come risolvere Procaptcha tramite CapMonster Cloud

Quando testi form che includono Prosopo Procaptcha 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 Procaptcha con librerie pronte
Il servizio CapMonster Cloud fornisce librerie pronte per lavorare comodamente in Python, JavaScript (Node.js) e C#.
Python
JavaScript
C#
Risoluzione, inserimento token e invio modulo
Esempio in Node.js per l'intero ciclo di riconoscimento captcha sulla tua pagina web. Possibili approcci: usare richieste HTTP per ottenere HTML e parametri del captcha, inviare la risposta e gestire il risultato; oppure con 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 modulo e visualizzare il risultato.

async function sendTokenToSite(token) {
    // URL del modulo o endpoint dove inviare il token
    const formURL = "https://example..com/en/your-form-endpoint";

    // Esempio di dati del modulo
    const formData = {
        email: "example@example.com",
        password: "yourpassword",
        "procaptcha-response": token // token da Procaptcha
    };

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

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

// Funzione principale
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);

    // Invio del token al sito
    await sendTokenToSite(result.solution); // result.solution contiene il token Procaptcha
}

solveAndSend().catch(console.error);

Come collegare Procaptcha al tuo sito
Per comprendere il funzionamento del captcha sul tuo sito, capire la logica di verifica, riconnettere o reimpostare, ti consigliamo di studiare questa sezione. Qui viene descritta la procedura di collegamento della protezione, utile per comprendere rapidamente tutti i dettagli.

1. Ottieni le chiavi (sitekey e secret key)

  • 1) Accedi a Portale Prosopo.
  • 2) Vai su Site Management
  • 3) Clicca su Reveal — appariranno due chiavi:
    • sitekey — pubblica, usata sul client.
    • secret key — privata, usare solo sul server.
Importante: per ogni widget viene creato un set di chiavi separato. Non usarle per un altro progetto.

2. Aggiungi il tuo dominio

  • 1) Vai su Account → Domains.
  • 2) Assicurati che il tuo dominio sia elencato.
  • 3) Se testi in locale — aggiungi localhost.
  • 4) Rimuovi localhost prima della produzione.

3. Collega lo script Procaptcha

Inserisci il tag in <head>

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

4. Opzione 1: Implicit rendering (automatico) — PIÙ SEMPLICE

Aggiungi un contenitore dove il captcha apparirà automaticamente:

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

Di solito si trova all'interno del modulo.

Esempio di modulo completoEsempio di modulo completo
arrow

Dopo la verifica riuscita del captcha, verrà aggiunto un parametro nascosto:

5. Opzione 2: Explicit rendering (manuale) — PIÙ CONTROLLO

Esempio HTMLEsempio HTML
arrow
Esempio JavaScriptEsempio JavaScript
arrow

6. Configurazione tipo captcha (opzionale)

Puoi selezionare esplicitamente:

  • frictionless (predefinito)
  • pow
  • image

Ad esempio:


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

7. Passaggio obbligatorio: verifica server-side del token

Dopo il rendering del captcha, il server deve verificare la risposta. La verifica avviene tramite API:

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

Contenuto della richiesta:

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

8. Verifica server-side in PHP

Esempio di codice:Esempio di codice:
arrow

Cosa conta come verifica riuscita?

Se il server Procaptcha restituisce:

{
    "verified": true
}

captcha superato, è possibile eseguire l'azione protetta (ad esempio registrare l'utente).

Background
Possibili errori e debug
Bug Icon
Chiave sito non valida
È stata utilizzata una site key errata o non valida. Soluzione: assicurati di usare la chiave corretta, reperibile nel tuo account Procaptcha.
Bug Icon
URL origine non autorizzata
Il dominio in cui il widget è installato non corrisponde al dominio associato alla site key. Soluzione: verifica e aggiorna l'elenco dei domini nelle impostazioni del portale Procaptcha.
Bug Icon
Sessione non trovata
Sessione non trovata o scaduta. Soluzione: attendi il reload del widget (~3 secondi) o aggiorna la pagina. Se l'errore persiste, cancella cache e cookie del browser o contatta il supporto.
Bug Icon
Risposta success=false
Il token è scaduto, riutilizzato o non superato la verifica. Per diagnosticare, abilita il logging delle richieste e controlla il campo error nella risposta Procaptcha.
Verifiche della resilienza della protezione
Dopo l'integrazione assicurati che il sistema protegga davvero il sito dalle azioni automatizzate.
Suggerimenti di sicurezza e ottimizzazione
Conserva la <span class="font-bold">Secret Key</span> solo sul server. Non inviarla mai al client.
Registra i codici di errore <span class="font-bold">(error-codes)</span> per capire perché alcune verifiche specifiche sono fallite.
Aggiungi in fondo ai moduli link alla <span class="font-bold">Privacy Policy</span> e ai <span class="font-bold">Termini di utilizzo di Procaptcha</span>, se richiesto dalla tua implementazione.
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 Prosopo Procaptcha, è sufficiente individuare il sistema, analizzarne il comportamento e assicurarsi che la protezione funzioni correttamente. Nell’articolo abbiamo mostrato come riconoscere Prosopo Procaptcha 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 ProcaptchaDocIconPortale ProsopoDocIconDocumentazione CapMonster Cloud (lavoro con Procaptcha)

Domande frequenti su Prosopo Procaptcha

Procaptcha utilizza tre tipi di verifica e sceglie il più appropriato in base al livello di rischio della sessione del visitatore:

  • Frictionless CAPTCHA: Funziona in background e verifica il visitatore in modo invisibile se i segnali del browser e il comportamento sembrano umani. Le sessioni sospette possono essere escalate a una sfida visibile.
  • Proof of Work (PoW) CAPTCHA: Assegna al dispositivo del visitatore un piccolo compito computazionale, rendendo le richieste automatizzate su larga scala più costose pur rimanendo quasi impercettibile per gli utenti reali.
  • Image CAPTCHA: Mostra una sfida visiva, come selezionare tutte le immagini che corrispondono a un prompt come «Seleziona tutti i cavalli».

Puoi specificare la modalità di verifica tramite l'attributo data-captcha-type sul div del widget. Impostalo su frictionless per controlli invisibili in background, pow per il puzzle Proof of Work, o image per la classica sfida di selezione immagini.

Ad esempio:

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

Il valore del tuo data-captcha-type lato client deve corrispondere rigorosamente al tipo di CAPTCHA configurato nelle impostazioni del tuo account Prosopo Portal.

Sì, puoi integrare la soluzione in qualsiasi script Python utilizzando richieste HTTP universali.

Richiedere un ID attività: Invia una richiesta POST all'endpoint createTask con la tua chiave API, websiteURL e websiteKey.

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

Attendere il risultato: Invia il taskId ricevuto all'endpoint getTaskResult finché lo stato non è ready.

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

Usare il token: Estrai la stringa dall'oggetto solution e passala come valore procaptcha-response nel payload HTTP (requests, aiohttp) o iniettala nel DOM (Playwright, Puppeteer, Selenium).

Procaptcha supporta un attributo data-callback sul div del widget per il rendering implicito, o una proprietà callback nell'oggetto di configurazione per il rendering esplicito.

La funzione specificata viene chiamata automaticamente una volta risolta la captcha, ricevendo la stringa del token come primo argomento — a quel punto puoi abilitare il pulsante di invio, attivare una richiesta AJAX o salvare il token nello stato del componente.

Usare un callback è generalmente più pulito che interrogare il campo procaptcha-response, poiché elimina le race condition tra la risoluzione del widget e l'invio del modulo.

Playwright, Puppeteer o Selenium sono approcci compatibili per automatizzare l'iniezione di token Procaptcha risolti. Il flusso generale è identico:

  1. Navigare alla pagina di destinazione
  2. Attendere il caricamento del widget Procaptcha
  3. Richiedere un token a CapMonster Cloud tramite la sua API (o SDK client)
  4. Iniettare il token restituito nella pagina usando i metodi nativi di manipolazione del DOM del framework prima di attivare l'invio del modulo.