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 reCAPTCHA v3, il passo successivo è analizzarne più nel dettaglio le proprietà e il funzionamento. In questo stesso articolo puoi anche studiare la guida all’integrazione di reCAPTCHA v3, 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.
Quando testi form che includono reCAPTCHA v3 devi spesso verificare che la captcha funzioni e sia integrata correttamente.
Puoi verificare manualmente la captcha inserita nel tuo sito.
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:
Nella richiesta per risolvere reCAPTCHA v3 è necessario specificare i seguenti parametri:
type - RecaptchaV3TaskProxyless;
websiteURL - l’indirizzo della pagina in cui viene risolto il captcha;
websiteKey - l’identificatore della chiave (sitekey) indicato sulla pagina del tuo sito con il captcha;
minScore - può avere un valore da 0.1 a 0.9;
pageAction - il valore del parametro action che viene passato dal widget ReCaptcha in Google. Valore predefinito: verify.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta",
"websiteKey": "6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob",
"minScore": 0.7,
"pageAction": "myverify"
}
}
{
"errorId":0,
"taskId":407533072
}
https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKv…hKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
}
}
const { chromium } = require('playwright');
const {
CapMonsterCloudClientFactory,
ClientOptions,
RecaptchaV3ProxylessRequest
} = require('@zennolab_com/capmonstercloud-client');
(async () => {
const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta'; // URL della tua pagina con la captcha
const SITE_KEY = '6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob';
const API_KEY = 'your_capmonster_cloud_api_key'; // Specifica la tua chiave API di CapMonster Cloud
// Creazione del client CapMonster
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
// Apertura del browser
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// Configurazione del task reCAPTCHA v3
const recaptchaRequest = new RecaptchaV3ProxylessRequest({
websiteURL: TARGET_URL,
websiteKey: SITE_KEY,
minScore: 0.6,
pageAction: 'myverify', // corrispondenza con l’action sulla pagina
});
// Risoluzione della captcha
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution?.gRecaptchaResponse;
if (!token) {
console.error('Токен пустой, проверьте sitekey и URL');
await browser.close();
return;
}
console.log('Token ottenuto:', token);
// Inserimento del token nel campo nascosto ed emulazione del click sul pulsante
// Sostituisci con i selettori di cui hai bisogno
await page.evaluate((t) => {
const input = document.querySelector('#v3_token');
if (input) input.value = t;
const form = document.querySelector('#v3_form');
if (form) form.submit();
}, token);
console.log('Token inserito e form inviato');
await page.waitForTimeout(5000);
await browser.close();
})();1. Vai alla pagina del pannello di amministrazione di reCAPTCHA.
2. Registra un nuovo sito e scegli come tipo di captcha reCAPTCHA v3

3. Ottieni le due chiavi:

Puoi aprire le impostazioni dove, ad esempio, è possibile specificare i domini su cui utilizzare reCAPTCHA oppure configurare avvisi relativi a problemi sul sito o a un aumento di traffico sospetto.
4. Esempi di codice per il lato client
Il modo più semplice per usare reCAPTCHA v3 è includere le API JavaScript e aggiungere alcuni attributi al pulsante.
Inclusione dell’API:
<script src="https://www.google.com/recaptcha/api.js"></script>Funzione di callback per il form:
<script>
function onSubmit(token) {
document.getElementById("form").submit();
}
</script>
Pulsante con attributi reCAPTCHA:
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_sitekey"
data-callback='onSubmit'
data-action='submit'>Submit</button>
Per un controllo completo, utilizza grecaptcha.execute con il parametro render:
Inclusione dell’API con la chiave:
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>Chiamata programmata:
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_sitekey', {action: 'submit'}).then(function(token) {
// Invia il token al server per la verifica
});
});
}
</script>
Il token deve essere inviato immediatamente al server per la verifica.
Note importanti:
5. Ora effettua la verifica della risposta lato server
<?php
// La tua Secret Key di reCAPTCHA v3
$secret = 'YOUR_SECRET_KEY';
// Ottieni il token dal form
$token = $_POST['recaptcha-token'] ?? '';
// Invia una richiesta a Google per verificare il token
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$token}"
);
$result = json_decode($response, true);
// Controlla l’esito e il punteggio di attendibilità
if ($result['success'] && $result['score'] >= 0.5 && $result['action'] === 'submit') {
echo "Verifica superata";
} else {
http_response_code(403);
echo "Verifica non superata";
}
?>
Note:
<input type="hidden" name="recaptcha-token" id="recaptcha-token">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 reCAPTCHA v3, è sufficiente individuare il sistema, analizzarne il comportamento e assicurarsi che la protezione funzioni correttamente. Nell’articolo abbiamo mostrato come riconoscere reCAPTCHA v3 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.