Hushfort

Come blocco lo spam nei moduli di contatto di WordPress senza CAPTCHA?

Di Eureka Studio · Aggiornato il

In breve

Invece di un CAPTCHA, combina controlli invisibili: un campo honeypot nascosto che compilano solo i bot, un tempo minimo di compilazione, un token che resiste alla cache delle pagine e limiti per IP e per email. Metti in quarantena i messaggi dubbi invece di eliminarli. Un plugin locale può farlo per Elementor, Contact Form 7 e WPForms senza inviare dati altrove. In Hushfort, la protezione dei plugin per moduli fa parte di Pro; il plugin gratuito copre solo commenti e recensioni.

Passaggi

  1. 1Passaggio 1

    Osserva i bot che colpiscono il modulo

    I bot compilano ogni campo che trovano, compreso uno nascosto che una persona non vede mai, oppure inviano senza nemmeno caricare la pagina. Il registro di Hushfort indica ogni caso: honeypot compilato, nessun token, compilato troppo in fretta, troppi link.

    La tabella Log e quarantena dello Scudo antispam con voci del modulo di contatto WPForms: nessun token, limite per IP superato, campo honeypot compilato, troppi link
  2. 2Passaggio 2

    Attiva lo Scudo antispam in modalità Monitoraggio

    In Hushfort apri Scudo antispam, attivalo e imposta Modalità su "Solo registrazione — modalità Monitoraggio, non blocca nulla". Con Hushfort Pro installato, lascia attivo Plugin di moduli, poi salva. Registra ciò che bloccherebbe senza ancora bloccare nulla.

    Scudo antispam attivo con Modalità impostata su Solo registrazione — modalità Monitoraggio, non blocca nulla
  3. 3Passaggio 3

    Imposta i limiti silenziosi (Pro)

    Tieni breve il Tempo minimo di compilazione (3 secondi). Con Pro, limita anche quanti messaggi possono inviare ogni ora un IP (Limite per IP) o un indirizzo email (Limite per email). I messaggi con più link di quanti ne consente Numero massimo di link finiscono in quarantena.

    Limiti dello Scudo antispam: tempo minimo di compilazione 3 secondi, limite per IP 5 all'ora, limite per email 3 all'ora, numero massimo di link 2
  4. 4Passaggio 4

    Controlla il registro, poi passa a Blocca

    Dopo qualche giorno, guarda cosa ha intercettato la modalità Monitoraggio. Se non contiene messaggi reali, imposta Modalità su "Blocca (consigliato)" e salva.

    Modalità dello Scudo antispam cambiata da Solo registrazione a Blocca (consigliato) e salvata
  5. 5Passaggio 5

    Le persone vere inviano e basta

    Un visitatore scrive per mezzo minuto, non vede mai il campo nascosto e invia. Nessun rompicapo, nessuna griglia di immagini.

    Un visitatore compila il modulo di contatto del negozio demo e lo invia; il modulo risponde Grazie per il tuo messaggio

Perché è importante

Puoi bloccare lo spam nei moduli di contatto senza CAPTCHA con controlli invisibili, come un campo honeypot e un tempo minimo di compilazione. Lo spam nei moduli è per lo più una seccatura, finché non diventa un problema. Seppellisce le richieste vere, ti abitua a scorrere la posta di fretta e, se il modulo invia risposte automatiche, può peggiorare la reputazione d'invio del tuo server di posta. Sui siti molto visitati consuma anche risorse del server, perché ogni invio passa per l'intera elaborazione del plugin di moduli.

La soluzione abituale, un CAPTCHA, scarica il costo sui visitatori. Risolvono rompicapi, alcuni rinunciano, e chi usa strumenti per la privacy resta bloccato. La maggior parte dei servizi CAPTCHA carica inoltre codice di terze parti e invia i dati dei visitatori fuori dal tuo server.

C'è un modo più discreto. I bot si comportano in modo diverso dalle persone, e puoi verificarlo in silenzio:

  • Compilano i campi nascosti. Un honeypot è un campo nascosto alle persone ma visibile nell'HTML. Una persona lo lascia vuoto; un bot lo compila.
  • Sono veloci. A una persona servono alcuni secondi per compilare un modulo. A un bot bastano millisecondi.
  • Si ripetono. Un IP o un indirizzo email che invia dieci messaggi all'ora non è un cliente.
  • Incollano link. Un messaggio pieno di link raramente è una richiesta vera.

Errori comuni

  • Bloccare invece di mettere in quarantena. Quando un controllo non è sicuro, tieni il messaggio da rivedere. Eliminare la domanda di un cliente vero è peggio che leggere uno spam.
  • Passare subito a Blocca. Inizia per qualche giorno in una modalità di solo registro. Controlla cosa sarebbe stato bloccato prima di lasciarlo bloccare.
  • Token che si rompono con la cache. Se il token antispam fa parte di una pagina in cache, tutti i visitatori condividono lo stesso token scaduto. Usa una protezione che recupera il token al caricamento della pagina.
  • Un solo controllo. Un honeypot da solo ferma i bot semplici. Aggiungi il controllo del tempo di compilazione e i limiti.

Senza plugin

La maggior parte dei plugin di moduli include una versione base di questa protezione:

  • Moduli di Elementor Pro: aggiungi un campo "Honeypot" dall'elenco dei campi.
  • Contact Form 7: aggiungi un honeypot tramite un componente aggiuntivo; CF7 supporta anche Akismet, se accetti di inviare dati a quel servizio.
  • WPForms: ha un token antispam integrato e un honeypot opzionale nelle impostazioni di ogni modulo.

Puoi anche aggiungere a mano un semplice honeypot a qualsiasi modulo che controlli:

<div style="position:absolute;left:-9999px" aria-hidden="true">
  <label>Leave this empty <input type="text" name="website" tabindex="-1" autocomplete="off"></label>
</div>
<?php
if ( ! empty( $_POST['website'] ) ) {
    wp_die( 'Spam detected.', 403 );
}

I limiti: ogni plugin di moduli lo fa a modo suo, di solito non c'è un limite di frequenza condiviso tra i moduli, nessuna quarantena che recuperi gli errori e niente per commenti o recensioni. Finisci per configurare la stessa idea cinque volte.

Se qualcosa va storto

  • I messaggi veri non arrivano più. Passa lo Scudo antispam in modalità Monitoraggio, invia un messaggio di prova e guarda nel registro quale controllo l'ha intercettato.
  • I moduli non funzionano solo per alcuni visitatori. Svuota una volta la cache delle pagine dopo aver attivato la protezione.
  • Lo spam passa ancora. Abbassa il limite di link, aggiungi parole o domini alla lista di blocco, oppure attiva la modalità rigorosa per i moduli che dovrebbero accettare solo provider di posta noti.

Con Hushfort

Hushfort Security è un plugin di sicurezza gratuito per WordPress; Hushfort Pro è il componente aggiuntivo a pagamento che si installa sopra.

Lo Scudo antispam di Hushfort protegge commenti e recensioni di WooCommerce nel plugin gratuito. I plugin di moduli richiedono Hushfort Pro, che aggiunge sei dei più diffusi (Elementor Pro, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Forminator) alla stessa schermata.

  • Honeypot invisibile, tempo minimo di compilazione e token firmati che resistono alla cache delle pagine. Il token arriva da un piccolo script di circa 2 KB, senza cookie.
  • Pro: limiti predefiniti per IP (5 all'ora) e per email (3 all'ora); i messaggi con più di 2 link finiscono in quarantena.
  • Pro: un elenco di circa 9.900 domini di email usa e getta, le tue liste di blocco e filtri per parole.
  • Pro: quarantena con apprendimento tramite "Non è spam".
  • Ha una modalità Monitoraggio, così vedi cosa bloccherebbe prima che blocchi.

Nessun CAPTCHA, nessuna API esterna, e nessun dato dei moduli lascia mai il tuo server.

Domande frequenti

Gli honeypot fermano davvero lo spam nei moduli?

Fermano la maggior parte dei bot automatici, che compilano ogni campo che trovano. Alcuni bot più furbi saltano i campi nascosti, ed è per questo che dietro l'honeypot ci sono il controllo del tempo di compilazione e i limiti per IP.

Perché evitare reCAPTCHA?

Crea attrito per i visitatori reali, può non funzionare per chi usa strumenti per la privacy e invia i dati dei visitatori a terzi. Molti titolari di siti trovano anche che richieda un avviso sui cookie.

Funziona con la cache delle pagine?

Sì, se il token viene recuperato al caricamento della pagina e non è incorporato nell'HTML in cache. Altrimenti tutti i visitatori ricevono lo stesso token scaduto e i moduli non funzionano.

Quali plugin di moduli sono coperti?

Con Hushfort Pro, lo Scudo antispam copre i moduli di Elementor Pro, Contact Form 7, WPForms, Gravity Forms, Fluent Forms e Forminator. Il plugin gratuito copre solo i commenti e le recensioni di WooCommerce.

Cosa succede a un messaggio che sembra spam ma potrebbe essere vero?

Con Hushfort Pro, finisce in quarantena invece di essere eliminato. Segnalo come "Non è spam" e viene recapitato, e lo scudo impara dalla tua scelta.

Segnala un bug o richiedi una funzione

Il tuo messaggio arriva direttamente al team che sviluppa Hushfort.

Di cosa si tratta?

Usata solo per risponderti.

Usiamo questi dati solo per risponderti. Privacy