Chi Siamo Area Clienti Promo del Mese Dicono di Noi Portfolio FAQ Blog
WordPress

Contact Form 7: Protezione Spam con reCAPTCHA, Honeypot e Quiz

Gianluca Gentile
Gianluca Gentile
· 8 min di lettura

Il Problema dello Spam nei Moduli di Contatto

Lo spam rappresenta una delle sfide piu frustranti per chiunque gestisca un sito web con un modulo di contatto. I bot automatizzati scandagliano il web alla ricerca di moduli da compilare con messaggi pubblicitari, link malevoli e tentativi di phishing. Senza una protezione adeguata, un modulo di contatto puo ricevere decine o centinaia di messaggi spam al giorno, rendendo impossibile identificare le richieste legittime e consumando risorse del server. Contact Form 7, essendo il plugin di moduli piu diffuso al mondo, e un bersaglio particolarmente appetibile per gli spammer.

La buona notizia e che esistono diverse strategie efficaci per proteggere i tuoi moduli. In questa guida analizzeremo le principali soluzioni antispam compatibili con Contact Form 7: Google reCAPTCHA v3, il metodo Honeypot, il tag Quiz, la integrazione con Akismet e altre tecniche complementari. La strategia migliore e spesso una combinazione di piu metodi per creare una difesa a piu livelli.

Google reCAPTCHA v3 — Protezione Invisibile

Google reCAPTCHA v3 rappresenta la soluzione antispam piu avanzata e discreta disponibile. A differenza delle versioni precedenti che richiedevano al visitatore di selezionare immagini o spuntare caselle, reCAPTCHA v3 funziona in modo completamente invisibile, analizzando il comportamento del visitatore sulla pagina per determinare se si tratta di un umano o di un bot.

Passo 1: Ottenere le Chiavi API da Google

Per utilizzare reCAPTCHA v3, devi prima registrare il tuo sito sulla piattaforma Google reCAPTCHA. Visita la pagina www.google.com/recaptcha/admin e accedi con il tuo account Google. Clicca su “Crea” o sul simbolo “+” per registrare un nuovo sito.

Compila il modulo di registrazione: inserisci una etichetta descrittiva (ad esempio “Il mio sito — Contact Form”), seleziona reCAPTCHA v3 come tipo, aggiungi il dominio del tuo sito (senza http:// o www) e accetta i termini di servizio. Dopo la registrazione, Google ti fornira due chiavi: una Chiave del sito (Site Key) e una Chiave segreta (Secret Key). Conserva entrambe le chiavi in un luogo sicuro.

Passo 2: Configurare reCAPTCHA in Contact Form 7

Nella bacheca di WordPress, vai su Contatto > Integrazione. Troverai la sezione dedicata a reCAPTCHA. Clicca su “Configura integrazione” e inserisci la Chiave del sito e la Chiave segreta ottenute da Google. Clicca su “Salva modifiche”.

Pagina Integrazioni di Contact Form 7 con la configurazione di reCAPTCHA e altri servizi

Una volta configurata la integrazione, reCAPTCHA v3 viene attivata automaticamente su tutti i moduli di Contact Form 7. Non e necessario aggiungere alcun tag al template del modulo. Noterai un piccolo badge di reCAPTCHA nella angolo inferiore destro delle pagine che contengono un modulo.

Passo 3: Regolare la Soglia di Sensibilita

reCAPTCHA v3 assegna un punteggio da 0.0 (quasi certamente un bot) a 1.0 (quasi certamente un umano) a ogni interazione. Contact Form 7 utilizza una soglia predefinita di 0.40, il che significa che le sottomissioni con un punteggio inferiore a 0.40 vengono bloccate. Se ricevi ancora spam, puoi aumentare la soglia aggiungendo il seguente codice nel file functions.php del tuo tema:

add_filter( "wpcf7_recaptcha_threshold", function() {
    return 0.60;
} );

Attenzione: una soglia troppo alta potrebbe bloccare anche visitatori legittimi, soprattutto quelli che utilizzano VPN, browser con protezione della privacy avanzata o reti aziendali.

Honeypot — La Trappola Invisibile per i Bot

Il metodo Honeypot (letteralmente “vaso di miele”) e una tecnica antispam elegante e completamente invisibile al visitatore umano. Il principio e semplice: si aggiunge un campo nascosto al modulo. I visitatori umani non vedono e non compilano questo campo, ma i bot automatizzati, che compilano tutti i campi trovati nel codice HTML, lo riempiono rivelando la loro natura.

Installare CF7 Honeypot

Installa il plugin Honeypot for Contact Form 7 dalla bacheca di WordPress (Plugin > Aggiungi nuovo > cerca “Honeypot for Contact Form 7”). Dopo la attivazione, avrai un nuovo pulsante nella barra dei tag del editor di Contact Form 7.

Aggiungere il Campo Honeypot al Modulo

Apri il modulo da proteggere e aggiungi il tag honeypot nel template:

[honeypot your-honeypot]

Il campo verra reso invisibile tramite CSS e JavaScript. Puoi posizionarlo in qualsiasi punto del template, ma e consigliato inserirlo tra i campi reali per renderlo piu credibile agli occhi dei bot. Il plugin offre anche opzioni avanzate come la possibilita di utilizzare nomi di campo che sembrano reali (ad esempio “your-website” o “your-company”) per ingannare i bot piu sofisticati.

Il vantaggio principale del metodo Honeypot e che non richiede alcuna interazione da parte del visitatore e non dipende da servizi esterni come Google. Lo svantaggio e che i bot piu avanzati possono riconoscere i campi nascosti e evitare di compilarli. Per questo motivo, e consigliato combinare il Honeypot con altre tecniche antispam.

Tag Quiz — Domande Anti-Bot

Il tag Quiz di Contact Form 7 e una soluzione antispam nativa che non richiede plugin aggiuntivi. Consiste nel porre al visitatore una domanda semplice a cui deve rispondere correttamente per poter inviare il modulo.

Editor Contact Form 7 con il tag quiz per la protezione antispam e altri campi configurati

[quiz your-quiz "Quanto fa 5 + 3?|8" "Quanto fa 7 - 2?|5" "Quanto fa 4 x 2?|8" "Di che colore e il sole?|giallo"]

Il formato e: "domanda|risposta". Se inserisci piu domande, Contact Form 7 ne selezionera una casualmente ad ogni caricamento della pagina. Le domande matematiche semplici sono le piu efficaci perche sono facili per gli umani ma difficili per i bot. Evita domande troppo complesse o ambigue che potrebbero frustare i visitatori.

Il tag Quiz e particolarmente efficace contro i bot generici che non sono programmati per rispondere a domande specifiche. Tuttavia, non protegge dallo spam manuale (inserito da persone reali) e puo essere aggirato da bot sofisticati dotati di intelligenza artificiale.

Integrazione con Akismet

Akismet e il servizio antispam di Automattic (la azienda dietro WordPress) e puo essere integrato con Contact Form 7. Akismet analizza il contenuto dei messaggi confrontandolo con il suo database globale di spam, che viene alimentato da milioni di siti web.

Per abilitare la integrazione, aggiungi le opzioni Akismet ai campi del modulo:

[text* your-name akismet:author]
[email* your-email akismet:author_email]
[url your-website akismet:author_url]

Le opzioni akismet:author, akismet:author_email e akismet:author_url indicano a Contact Form 7 quali campi inviare ad Akismet per la verifica. Akismet richiede un piano (gratuito per siti personali) e il plugin Akismet deve essere installato e configurato con una chiave API valida.

Rate Limiting — Limitare le Sottomissioni per IP

Una tecnica complementare e il rate limiting, che limita il numero di sottomissioni che un singolo indirizzo IP puo effettuare in un determinato periodo di tempo. Contact Form 7 non offre questa funzionalita nativamente, ma puoi implementarla tramite plugin come Contact Form 7 — Rate Limit o tramite regole del server web.

Un limite ragionevole e 3-5 invii per ora per singolo IP. Questo non disturba i visitatori legittimi ma blocca efficacemente gli attacchi automatizzati che tentano di inviare centinaia di messaggi in pochi minuti.

Flamingo — Salvare Ogni Messaggio nel Database

Flamingo non e propriamente una soluzione antispam, ma e un complemento essenziale per la gestione dei messaggi. Sviluppato dallo stesso autore di Contact Form 7, Flamingo salva ogni messaggio inviato tramite i moduli nel database di WordPress, creando un archivio consultabile dalla bacheca.

Perche e importante in una strategia antispam? Perche se un messaggio legittimo viene erroneamente classificato come spam e la email non viene inviata, Flamingo lo avra comunque salvato nel database. Puoi consultare tutti i messaggi da Flamingo > Messaggi in entrata nella bacheca di WordPress.

Installa Flamingo dalla bacheca (Plugin > Aggiungi nuovo > cerca “Flamingo”) e attivalo. Non richiede alcuna configurazione: iniziera automaticamente a salvare tutti i messaggi dai moduli di Contact Form 7. Per ulteriori dettagli, consulta la guida alle integrazioni di Contact Form 7.

La Strategia Antispam Ideale

Non esiste una singola soluzione antispam perfetta. La strategia piu efficace combina piu metodi per creare una difesa a piu livelli. Ecco la combinazione consigliata in base al tipo di sito:

Sito personale o blog con poco traffico: Honeypot + Quiz. Questa combinazione e gratuita, non richiede servizi esterni e blocca la grande maggioranza dei bot generici.

Sito aziendale con traffico moderato: reCAPTCHA v3 + Honeypot + Flamingo. reCAPTCHA v3 offre una protezione avanzata senza disturbare i visitatori, il Honeypot aggiunge un secondo livello di protezione e Flamingo garantisce che nessun messaggio vada perso.

Sito e-commerce o con alto traffico: reCAPTCHA v3 + Akismet + Honeypot + Rate Limiting + Flamingo. La combinazione completa di tutti i metodi disponibili per la massima protezione.

Ricorda di monitorare regolarmente la efficacia della tua strategia antispam. Se noti un aumento di spam nonostante le protezioni, potrebbe essere necessario aumentare la soglia di reCAPTCHA o aggiungere metodi aggiuntivi. Al contrario, se ricevi segnalazioni di visitatori che non riescono a inviare il modulo, potresti dover alleggerire le restrizioni.

Guide Correlate della Serie Contact Form 7

Hai bisogno di proteggere i tuoi moduli dallo spam in modo professionale? Il team di G Tech Group puo configurare una strategia antispam su misura per il tuo sito. Contattaci per una consulenza gratuita.

#anti spam #cf7 spam #honeypot #recaptcha