SilentShield
← Torna al Blog
WordPressConfigurazioneSpamContact Form 7

Configurare un captcha su WordPress e fermare lo spam dei moduli, passo dopo passo

Marc Wagner·7 ottobre 2026·5 min lettura

Questa guida porta un sito WordPress appena installato con Contact Form 7 da «nessuna protezione» a una configurazione a più livelli. Tutto è stato testato il 7 ottobre 2026 con SilentShield 2.15.14, Contact Form 7 6.2 e WordPress 7.1.2. I livelli descritti qui girano sul suo server; l'API opzionale di SilentShield è trattata nella guida a WordPress.

Un'installazione nuova non protegge ancora nulla

Dashboard di SilentShield subito dopo l'installazione: un avviso rosso «No form is protected yet» (Nessun modulo è protetto) indica che ogni plugin di moduli va attivato singolarmente, elenca Contact Forms 7, WordPress Comments, Password Reset, WordPress Login e WordPress Registration e offre il pulsante «Choose what to protect»
Screenshot dell'interfaccia di amministrazione in inglese (SilentShield 2.15.14, WordPress 7.1.2, testato il 7 ottobre 2026).

Dopo l'attivazione il plugin è in funzione, ma nessun plugin di moduli è attivato. Lo dice chiaramente il Dashboard: «No form is protected yet» (Nessun modulo è protetto), seguito dai plugin di moduli che ha trovato sul suo sito. Finché un plugin di moduli non è attivato, i suoi moduli non mostrano alcun campo captcha e non viene controllato nulla.

Tutte le impostazioni qui sotto si trovano nel menu SilentShield dell'area di amministrazione di WordPress.

Passo 1: scegliere un metodo captcha

Pagina Protection Settings: il modulo captcha è attivo, con i metodi Honeypot (invisibile, consigliato), Math Problem e Image Captcha, campi per etichetta e segnaposto e una scelta di modelli di visualizzazione
Screenshot dell'interfaccia di amministrazione in inglese (SilentShield 2.15.14, WordPress 7.1.2, testato il 7 ottobre 2026).

Apra SilentShield → Protection Settings (Impostazioni di protezione). Sono disponibili tre metodi:

  • Honeypot (predefinito, invisibile). Un campo esca è posizionato fuori dallo schermo; i visitatori non lo vedono mai, i bot che compilano ogni campo che trovano sì. Un honeypot non è una prova da superare: un bot che legge la pagina e lascia stare l'esca passa.
  • Operazione matematica. Il visitatore risolve un piccolo calcolo (addizione, sottrazione o moltiplicazione). Viene mostrata come testo, quindi un bot che pilota un browser reale può leggerla.
  • Captcha a immagine. Caratteri distorti che il visitatore deve digitare. Richiede la libreria PHP GD sul server ed è l'opzione che richiede più impegno ai suoi visitatori.

Cominci con l'honeypot se per lei contano soprattutto le conversioni e passi all'operazione matematica o al captcha a immagine quando continua ad arrivare spam. Scelga un modello, adatti l'etichetta se lo desidera e faccia clic su Save.

Passo 2: attivare i moduli

Pagina Forms: l'integrazione Contact Forms 7 è attivata e mostra i badge «Detected» e «Fields detected»; sotto è elencato il modulo «Contact form 1», gli altri plugin di moduli non sono installati
Screenshot dell'interfaccia di amministrazione in inglese (SilentShield 2.15.14, WordPress 7.1.2, testato il 7 ottobre 2026).

Apra SilentShield → Forms (Moduli). Ogni plugin di moduli ha un interruttore; il badge accanto indica se il plugin è stato rilevato sul suo sito. Attivi Contact Form 7 e il badge passa da «Disabled» a «Fields detected». Questo interruttore salva subito, non c'è alcun pulsante di salvataggio da premere.

Faccia clic su un singolo modulo sotto l'integrazione se ha bisogno di impostazioni proprie. Le impostazioni valgono su tre livelli (globale, integrazione, singolo modulo) e il livello inferiore prevale su quello superiore.

Guide passo passo per i singoli plugin per moduli: Avada Forms, Elementor Forms, WPForms e il checkout di WooCommerce.

Passo 3: aggiungere i livelli di rilevamento

Pagina Protection Settings, parte inferiore: Timer Protection disattivata, JavaScript Detection attiva, Browser Detection attiva, Multiple Submission Protection disattivata, Gibberish Detection attiva nella modalità «Monitor only (record, do not block)» con «Flagged fields required: 3»
Screenshot dell'interfaccia di amministrazione in inglese (SilentShield 2.15.14, WordPress 7.1.2, testato il 7 ottobre 2026).

Più in basso in Protection Settings ogni livello ha un proprio interruttore. Questo è lo stato dopo un'installazione nuova:

  • Rilevamento JavaScript (attivo). Blocca gli invii di client che non hanno eseguito JavaScript, per esempio uno script che invia i dati direttamente all'indirizzo del suo modulo.
  • Rilevamento del browser (attivo). Verifica che la richiesta contenga uno user agent valido.
  • Protezione timer (disattivata). Respinge un invio che arriva prima di un tempo minimo dal caricamento della pagina; il minimo predefinito è di 500 millisecondi.
  • Protezione da invii multipli (disattivata). Impedisce che la stessa sessione captcha venga inviata più di una volta.
  • Gibberish Detection (attiva, «Monitor only»). Segnala testi composti da caratteri casuali, come «dQgJlwEhfxaLZSKYLy». In modalità monitor registra ciò che avrebbe respinto e non blocca nulla. Osservi i risultati per un po' e poi imposti la modalità su «Block».

Un invio viene respinto non appena un livello attivo lo segnala.

Passo 4: rate limit e regole sui contenuti contro lo spam ostinato

Pagina Advanced Settings: IP-based Rate Limiting e Content Rules (limite di URL, BBCode, blacklist di parole), entrambi disattivati, e una blacklist di IP con le voci di esempio 192.168.1.1 e 10.0.0.0/24
Screenshot dell'interfaccia di amministrazione in inglese (SilentShield 2.15.14, WordPress 7.1.2, testato il 7 ottobre 2026).

Apra SilentShield → Advanced Settings (Impostazioni avanzate). Qui tutto è disattivato per impostazione predefinita:

  • Rate limiting basato sull'IP. Dopo 3 tentativi falliti in 5 minuti un indirizzo viene bloccato per 1 ora (i valori predefiniti, tutti modificabili). Gli indirizzi vengono salvati come hash con salt.
  • Regole sui contenuti. Un limite al numero di link in un messaggio, un blocco dei link BBCode ([url=…]) e una blacklist di parole. La blacklist è l'elenco di WordPress in «Settings → Discussion» («Disallowed Comment Keys»), quindi modificarla in uno o nell'altro punto ha lo stesso effetto.
  • Blacklist di IP. Indirizzi che vuole sempre bloccare, uno per riga.

Passo 5: testare come visitatore, non come amministratore

Contact Form 7 dopo una risposta captcha errata: il modulo mostra i valori inseriti e una casella di risposta evidenziata con il testo «Captcha check»
Screenshot dell'interfaccia di amministrazione in inglese (SilentShield 2.15.14, WordPress 7.1.2, testato il 7 ottobre 2026).

Gli amministratori e gli utenti connessi saltano per impostazione predefinita tutti i controlli (la whitelist nella stessa pagina). Un test mentre è connesso quindi non dimostra nulla. Apra invece il modulo in una finestra privata del browser:

  1. Invii con una risposta captcha errata. L'invio deve essere bloccato; Contact Form 7 mostra il motivo nella sua casella di risposta, qui «Captcha check».
  2. Ricarichi il modulo e invii con la risposta corretta. Deve passare.

Quale impostazione ferma quale tipo di spam

  • Script che inviano direttamente, senza browser: Rilevamento JavaScript e Rilevamento del browser.
  • Bot che compilano ogni campo: l'honeypot.
  • Script che compilano e inviano un modulo in pochi millisecondi: Protezione timer.
  • Testo di riempimento fatto di caratteri casuali: Gibberish Detection.
  • Spam di link: limite di URL, blocco BBCode e blacklist di parole.
  • Lo stesso indirizzo che riprova all'infinito: rate limiting basato sull'IP.

Limiti

  • Nessuna impostazione ferma lo spam digitato a mano da una persona.
  • I bot che pilotano un browser reale possono superare i controlli lato client. Le regole sui contenuti e Gibberish Detection guardano invece ciò che è stato digitato; per questo caso il livello adatto è l'analisi del comportamento.
  • Senza JavaScript nel browser, un invio a un modulo protetto viene respinto.

Guida alla protezione dei moduli

Pronto a eliminare i CAPTCHA?

Inizi a proteggere i suoi moduli — in modo invisibile. Nessuna carta di credito richiesta.