Protezione reCAPTCHA & hCaptcha: configurazione e aiuto
Avvio rapido
- Carica e installa lo ZIP mprrecaptcha in "Module Manager".
- Fai clic su "Configure" per aprire Impostazioni CAPTCHA.
- Scegli "CAPTCHA Provider" e salva Chiave del sito e Chiave segreta corrispondenti.
- Seleziona le voci necessarie in "Protect Forms".
- Configura la soglia v3 e le chiavi di fallback se usi v3.
- Attiva "Enable CAPTCHA Protection" e salva.
- Verifica che gli invii validi riescano e che token mancanti o non validi blocchino ogni form selezionato; risolvi qualsiasi errore di integrazione prima di affidarti alla protezione.
Richiede PrestaShop 1.6 o successivo e PHP 7.1 o successivo.
Manuale di configurazione
Verifica della protezione prima della distribuzione
Il modulo può visualizzare widget Google reCAPTCHA v2, reCAPTCHA v3 o hCaptcha. Prova ogni form selezionato con un token valido, mancante e non valido: un widget visibile da solo non significa che il gestore del form rifiuti gli invii senza un token valido.
Nei form nativi selezionati di accesso, registrazione e newsletter, una risposta CAPTCHA mancante o non valida impedisce l’invio. Disattivare la protezione CAPTCHA lascia disponibile la registrazione nativa.
Installazione e configurazione
- Carica e installa lo ZIP
mprrecaptchatramite Moduli > "Module Manager". - Fai clic su "Configure" per aprire Impostazioni CAPTCHA.
- Seleziona "CAPTCHA Provider".
- Ottieni le chiavi corrispondenti del provider per il dominio del negozio. Incolla Chiave del sito e Chiave segreta.
- Seleziona i form in "Protect Forms".
- Attiva "Enable CAPTCHA Protection" e fai clic su Salva.
- Prova token validi, mancanti e non validi su ogni form selezionato. Verifica che i controlli falliti impediscano l’operazione sottostante.
L’interruttore CAPTCHA è inizialmente disattivato. Rendering e verifica restano inattivi finché non sono presenti entrambe le chiavi principali. I campi segreti sono mascherati nel form delle impostazioni. Ti servono PHP cURL e una connessione HTTPS dal server all’endpoint di verifica del provider.
Configurazione di Impostazioni CAPTCHA
| Impostazione | Valore predefinito | Quando modificarla |
|---|---|---|
| "Enable CAPTCHA Protection" | Disattivato | Attiva dopo aver salvato le chiavi e provato l’integrazione. |
| "CAPTCHA Provider" | "Google reCAPTCHA v2 (checkbox)" | Seleziona "Google reCAPTCHA v3 (invisible)" o hCaptcha se hai le chiavi corrispondenti. Un solo provider si applica a tutti i form selezionati. |
| Chiave del sito | Vuoto | Chiave pubblica per il provider selezionato e il dominio del negozio. |
| Chiave segreta | Vuoto | Chiave privata di verifica dalla stessa configurazione del provider. |
| "Protect Forms" | "Contact form" e "Customer registration" | Le altre opzioni sono "Customer login" e "Newsletter subscription". Selezionano le integrazioni incorporate nel modulo. |
| "reCAPTCHA v3 Threshold" | 0.5 |
Inserisci un punteggio da 0.0 a 1.0. Una soglia più alta rifiuta più risposte con punteggio basso. Un valore vuoto torna a 0.5. |
| "Fallback to reCAPTCHA v2 after low v3 score" | Disattivato | Con v3, attiva una verifica con casella dopo un punteggio basso. Richiede entrambe le chiavi di fallback. |
| "Fallback v2 Site Key" | Vuoto | Chiave pubblica per una configurazione Google v2 con casella separata. |
| "Fallback v2 Secret Key" | Vuoto | Chiave privata per quella configurazione v2. |
| "Load provider script only when a protected form is present" | Disattivato | Attiva per caricare gli script tramite widget/iniettore. Lascia disattivato se il tema precedente richiede il caricamento globale nell’header. |
Per esempio, scegli v3, seleziona "Contact form", "Customer registration" e "Newsletter subscription", e imposta la soglia a 0.6. Queste impostazioni applicano la protezione v3 ai form selezionati.
Per una prova del fallback v3, seleziona v3, usa una soglia più severa come 0.7, compila entrambe le chiavi v2 di fallback e attiva il relativo interruttore. Dopo un punteggio basso il modulo registra una verifica in sospeso per quel form. Il tentativo successivo usa la casella v2. Un fallback riuscito cancella questo stato in sospeso.
Verifica del posizionamento nel tema
Il modulo visualizza i widget tramite questi hook dei form dove il tema li chiama:
{hook h='displayContactContent'}
{hook h='displayCustomerLoginFormAfter'}
{hook h='displayCustomerAccountForm'}
{hook h='displayNewsletterRegistration'}
Usa anche displayGDPRConsent per il posizionamento di contatto pertinente e un iniettore nel piè di pagina per i form standard riconoscibili. Gli esempi includono #login-form, #customer-form, .block_newsletter form e controlli chiamati submitMessage, submitLogin o submitAccount.
Mantieni il widget all’interno del form. Aggiungere un hook di visualizzazione aggiunge solo un widget. Serve comunque un’integrazione funzionante della validazione lato server.
Puoi usare .mprrecaptcha-widget, .mprrecaptcha-contact, .mprrecaptcha-registration, .mprrecaptcha-newsletter e .mprrecaptcha-login come selettori nel CSS del tema.
Gli script dei provider usano:
https://www.google.com/recaptcha/api.js
https://www.google.com/recaptcha/api.js?render=YOUR_SITE_KEY
https://js.hcaptcha.com/1/api.js
Le risposte Google usano g-recaptcha-response. hCaptcha usa h-captcha-response. Il fallback v3 aggiunge mprcaptcha_v2_fallback=1.
Verifica della validazione server
Il form di contatto nativo viene controllato prima dell’invio. Una risposta CAPTCHA non valida impedisce l’invio del messaggio.
L’integrazione di contatto controlla anche submitMessage sul controller di contatto nativo durante actionFrontControllerSetMedia. Se la validazione fallisce, imposta il campo honeypot del contatto. Prova questo percorso con il modulo di contatto installato.
Per ogni form selezionato:
- Invia dati validi con una verifica valida e conferma il successo.
- Invia senza token e verifica che non vengano creati messaggi, accessi, account o iscrizioni.
- Ripeti con un token non valido.
- Prova il posizionamento su dispositivi mobili e desktop.
- Se usi il fallback v3, prova il primo tentativo fallito e il nuovo tentativo riuscito con la casella.
Se gli invii non validi riescono, il gestore del form richiede un intervento di integrazione. Cambiare provider o aggiungere un widget non risolve il problema.
Integrazione di un altro form
Non ci sono impostazioni pronte per checkout, reimpostazione della password, recensioni o form arbitrari di terze parti. Uno sviluppatore può usare renderForForm($formId) e verifyForForm($formId, $token, $ip) per un’integrazione personalizzata. Usa un ID del form stabile contenente solo lettere, cifre, trattini bassi o trattini. Il gestore deve rifiutare l’operazione quando la verifica restituisce false. La verifica restituisce true mentre la protezione del modulo è inattiva.
Risoluzione dei problemi e disinstallazione
Se un widget manca, controlla chiavi, attivazione, form selezionati, hook di visualizzazione, selettori e richieste ai provider. Se utenti reali non superano v3, controlla soglia e risposta del provider. Se la verifica fallisce per tutti, controlla dominio/tipo di chiave e accesso HTTPS/cURL del server. Usa la pagina "Integrity" del modulo per i controlli di installazione.
Disattiva "Enable CAPTCHA Protection" e salva per interrompere rendering e validazione CAPTCHA del modulo. Disinstalla tramite "Module Manager" per rimuovere il menu e le impostazioni salvate.
Compatibilità
Richiede PrestaShop 1.6 o successivo e PHP 7.1 o successivo.
Screenshot di riferimento






Domande
1
Come evita il modulo di aggiungere un secondo widget nella pagina di contatto nativa?
Quando il modulo attivo contactform è registrato in displayContactContent, questo modulo non mostra il proprio widget in quell’hook. Può invece visualizzare il CAPTCHA di contatto tramite displayGDPRConsent sul controller di contatto. Controlla la pagina di contatto finale nel tuo tema dopo aver attivato la protezione.
Problemi noti
11
Invii ripetuti che riutilizzano una verifica scaduta
I clienti non possono creare un account
Rafforzamento della sicurezza
CAPTCHA di contatto fuori dal modulo
Rifiuto CAPTCHA della newsletter senza messaggio visibile
Moduli aggiornati che perdono il CAPTCHA funzionante
Moduli caricati dopo e verifiche di riserva non inizializzati
Le etichette di amministrazione restano non tradotte
Il modulo non si carica su PHP 7.1
Testi tradotti danneggiati
Widget CAPTCHA assenti nei moduli standard
Richieste funzionalità
9
Implementato
reCAPTCHA v3 invisibile con alternativa v2 opzionale
Protezione CAPTCHA dei moduli
Aggiornamenti dal back office
Amministrazione multilingue
Verifiche della configurazione richiesta
CAPTCHA per moduli aggiuntivi
Supporto di Friendly Captcha v2
Casella di controllo di riserva per reCAPTCHA v3
Caricamento condizionale degli script CAPTCHA
Registro modifiche
v1.3.02026-10-25
- Addedadmin menu management via MenuInstaller for streamlined module setup
Versioni precedenti
v1.2.02026-10-15
- AddedPS 9 / Hummingbird theme compatibility
- AddedhCaptcha provider as an alternative to Google reCAPTCHA
- Addedserver-side verification with configurable score threshold for v3
- Improvederror messaging — failed verification now shows localised inline alert
- FixedreCAPTCHA v3 token expiry on slow connections causing false negatives
v1.1.02026-06-23
- Addedper-form enable/disable toggles: contact, login, registration, newsletter
- AddedreCAPTCHA v2 invisible badge support
- Fixedduplicate script injection when multiple protected forms on one page
v1.0.142026-05-27
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedRender CAPTCHA on native contact forms
v1.0.152025-12-31
- Maintenance release: refreshed bundled shared libraries and module icon
v1.0.02025-03-20
- Initialrelease: Google reCAPTCHA v2 and v3 for PrestaShop forms
- InitialContact form, account login, customer registration, and newsletter protection
- InitialBack-office site key / secret key configuration
- InitialCompatible with PS 1.7.x and PS 8.x
Demo
Prova il modulo completo prima di acquistare
Acquista la licenza in seguito e mantieni le tue impostazioni.
- La tua demo di 30 giorni Provalo sul tuo negozio per 30 giorni dalla prima installazione.
- Negozio demo pronto Esplora un negozio demo pronto nel tuo browser.
- Senza registrazione Nessun account, e-mail o dominio del negozio richiesto.
Scaricando, accetti le condizioni della demo e l’informativa sulla privacy.
Aprendo questa demo accetti i termini della demo e la politica sulla privacy.