- Versione
- 1.3.0
- Aggiornato il
- 07/11/2026
- Richiede WordPress
- 6.4 o superiore
- Richiede PHP
- 8.1 o superiore
- Dimensione
- 133 KB
- SHA-256
6b7cf4b19fd96579…
ThinkShield protegge dallo spam i form di un sito WordPress senza CAPTCHA e senza servizi esterni: ogni modulo riceve un token firmato e il browser risolve in silenzio una piccola prova di calcolo (proof-of-work). A ogni invio un motore a punteggio decide se accettarlo, chiedere una nuova verifica, metterlo in quarantena o bloccarlo. È un plugin di uso generale, pensato per sostituire reCAPTCHA su moduli di contatto, commenti, accessi, registrazioni e checkout.
Token firmato e proof-of-work invisibile
Nei form protetti il plugin aggiunge due campi trappola nascosti, il token, la soluzione della prova e un riassunto dei segnali di compilazione. Il token, chiesto via /thinkshield/v1/challenge, vale due ore, è legato al form e si consuma al primo uso: un token riutilizzato, scaduto o emesso per un altro modulo blocca l’invio. La prova è una ricerca SHA-256 in un Web Worker, più pesante per gli invii ripetuti e per i form di accesso.
Senza JavaScript il modulo mostra una domanda di riserva, un’addizione scritta in lettere, che sostituisce il token. La stessa domanda compare dopo il secondo tentativo respinto.
Punteggio, soglie e modalità
Il punteggio va da 0 a 100 e somma segnali diversi: campo trappola compilato, JavaScript non eseguito, invio troppo rapido, nessun uso di tastiera o puntatore, troppi invii, più di due link o accorciatori di URL, parole chiave di spam (10 punti ciascuna, fino a 30), testo già ricevuto nelle ultime 72 ore, email usa e getta o dominio senza record MX. Mittenti già visti e utenti con ruolo di amministratore, redattore o autore ricevono uno sconto. Fino a 29 punti l’invio passa, fino a 49 parte una nuova verifica, fino a 79 va in quarantena, oltre si blocca; un solo gruppo di segnali non basta per bloccare.
In ThinkClouds → Impostazioni ThinkShield si sceglie la modalità. Di serie è attiva l’osservazione: tutto viene accettato e il registro mostra la decisione che sarebbe stata presa. In protezione le decisioni si applicano; sotto attacco abbassa le soglie di 15 punti e alza la difficoltà, e si attiva da sola per 24 ore quando, al controllo giornaliero, i blocchi dell’ultima ora superano di dieci volte la media. Il profilo sensibile lascia partire i messaggi sospetti con un’etichetta invece di trattenerli.
Quarantena e segnalazioni
I messaggi in quarantena sono salvati cifrati per 30 giorni nella pagina ThinkClouds → Quarantena: Approva inoltra il testo all’email dell’amministratore del sito e segna il mittente come affidabile, Scarta lo elimina, Segnala come spam insegna al plugin il dominio del mittente e quelli citati nel testo. Con i form Elementor Pro l’email del modulo viene trattenuta; nel profilo sensibile arriva con l’avviso “messaggio da verificare” e un link firmato, valido 30 giorni, per segnalarla come spam.
Form protetti
La protezione si attiva da sola su login, registrazione e recupero password di WordPress, sui commenti, sui form di Elementor Pro, su Contact Form 7, sull’accesso, la registrazione e il checkout di WooCommerce (anche il checkout a blocchi), sull’iscrizione a The Newsletter tramite il widget di Newsletter ThinkExt, sulle RSVP di K Events e VOVIT Quick Events e sul secondo fattore di ThinkLogin. Nella pagina Form si può escludere un singolo modulo indicandone la chiave.
Blocchi e superfici del sito
Gli IP che provano username trappola (admin, test, root e il nome del dominio, se non sono account reali) o che superano del doppio i limiti di invio vengono bloccati per un periodo: un modulo installato in mu-plugins risponde 429 prima che WordPress si carichi. Il plugin spegne XML-RPC di serie e i pingback sempre, nega agli anonimi la rotta /wp/v2/users, toglie gli utenti dalla sitemap e devia le richieste ?author=. IP e reti CIDR in whitelist saltano i controlli.
I link mailto: e tel: nei contenuti vengono nascosti ai raccoglitori di indirizzi e ricomposti nel browser; il widget Elementor Contatto protetto, nella categoria ThinkClouds, mostra un’email o un telefono già protetti.
Strumenti per l’amministratore
La panoramica riassume gli esiti degli ultimi 7 e 30 giorni; il Log esporta in CSV le ultime 500 decisioni, conservate 30 giorni con IP pseudonimizzato e senza il testo dei messaggi. In Strumenti si svuotano i contatori e si sbloccano gli IP. Sotto i form gli amministratori vedono un riquadro di prova che simula un invio umano o automatico e ne mostra esito e punteggio.
Se un amministratore resta chiuso fuori, la pagina di login offre un accesso di emergenza: una chiave definita in wp-config.php come THINKSHIELD_RESCUE_KEY, oppure il link che il plugin invia all’indirizzo dell’account dopo il secondo tentativo di accesso respinto, esonera quel browser dal blocco per un’ora. La chiave crittografica del plugin nasce nel database e un avviso invita a spostarla nella costante THINKSHIELD_SECRET.
Integrazione con l’ecosistema ThinkClouds
Il plugin si aggiorna da ThinkRepo e dichiara un manifesto ThinkClouds con le impostazioni da migrare, i due elementi di memoria tecnica per ThinkConsent e controlli di salute su estensioni PHP, posizione della chiave e tabelle. Per i visitatori non imposta cookie, aggiunge il proprio testo alla guida per l’informativa privacy e partecipa all’esportazione e alla cancellazione dei dati personali di WordPress.
Requisiti
- WordPress 6.4 o superiore
- PHP 8.1 o superiore, con le estensioni sodium, OpenSSL e JSON
- Elementor Pro, WooCommerce, Contact Form 7 e gli altri plugin integrati, facoltativi
Download riservato alle persone autorizzate: ti chiederemo la tua email e un codice di conferma.
Novità per versione
1.3.0 07/11/2026
Il checkout a blocchi di WooCommerce (`POST /wc/store/v1/checkout`, anche dentro il batch) chiede il token e il proof-of-work. Senza, l'ordine non parte. Il limite è di 5 checkout per IP ogni 10 minuti e 5 per email di fatturazione ogni ora; al doppio si blocca il singolo IP. Nel registro entra solo quell'email, non i dati di pagamento.
### Avvisi del controllo
Standard ThinkClouds revisione 1.12. Un avviso, lo stesso della 1.2.0: il widget Elementor «Contatto protetto» non salva ID di post o di template, quindi il manifesto non dichiara `id_refs` per Elementor.