18 aprile 2025
Come prevenire gli attacchi SQL Injection su WordPress
Le pratiche essenziali per ridurre il rischio di SQL Injection su WordPress: aggiornamenti, query sicure, plugin affidabili e hardening.

Cos'e una SQL Injection
Una SQL Injection e un attacco in cui un input non controllato viene usato per alterare una query verso il database. Su WordPress il rischio riguarda soprattutto form, plugin vulnerabili, temi mal sviluppati, endpoint personalizzati e codice che costruisce query concatenando stringhe.
L'obiettivo dell'attaccante puo essere leggere dati, modificare contenuti, creare utenti, estrarre informazioni sensibili o compromettere l'intero sito.
Perche WordPress e un bersaglio frequente
WordPress e molto diffuso e questo lo rende interessante per attacchi automatizzati. Il core, se aggiornato, e robusto; il problema nasce spesso dall'ecosistema: plugin abbandonati, temi non mantenuti, codice custom scritto senza attenzione alla sicurezza e installazioni prive di manutenzione.
La prevenzione non dipende da un singolo strumento, ma da una combinazione di pratiche tecniche e operative.
Best practice per prevenire SQL Injection
Aggiorna core, plugin e temi
Molti attacchi sfruttano vulnerabilita gia note. Tenere aggiornati WordPress, plugin e temi riduce la superficie di attacco. I plugin non mantenuti andrebbero rimossi o sostituiti.
Usa query preparate
Nel codice custom non bisogna mai concatenare input utente dentro query SQL. WordPress mette a disposizione $wpdb->prepare(), che permette di separare struttura della query e valori.
$results = $wpdb->get_results(
$wpdb->prepare(
"SELECT * FROM {$wpdb->prefix}custom_table WHERE email = %s",
$email
)
);
Valida e sanitizza gli input
Ogni dato ricevuto da form, URL, cookie o API deve essere validato in base al formato atteso e sanitizzato prima dell'uso. Email, numeri, slug, ID e testi liberi richiedono controlli diversi.
Limita i privilegi del database
L'utente database usato dal sito dovrebbe avere solo i permessi necessari. Privilegi eccessivi aumentano il danno potenziale in caso di compromissione.
Scegli plugin affidabili
Prima di installare un plugin verifica aggiornamenti recenti, numero di installazioni, reputazione, changelog e compatibilita. Un plugin vulnerabile puo rendere inutile il resto dell'hardening.
Aggiungi protezioni applicative
Un Web Application Firewall, regole di rate limiting, monitoraggio login e blocco dei pattern sospetti aiutano a ridurre gli attacchi automatici.
Sicurezza e SEO
Un sito compromesso puo perdere posizionamenti, mostrare contenuti spam, essere segnalato dai browser o finire in blacklist. La sicurezza tecnica e quindi anche un tema SEO: proteggere WordPress significa proteggere traffico organico, reputazione e conversioni.
Checklist rapida
- Aggiornamenti automatici o manutenzione pianificata.
- Backup verificati e ripristinabili.
- Plugin inutili rimossi.
- Query custom con
$wpdb->prepare(). - Input validati e sanitizzati.
- WAF o protezione equivalente.
- Monitoraggio log e alert.
- Account amministrativi protetti da password robuste e MFA.
FAQ
Un plugin di sicurezza basta?
No. Aiuta, ma non sostituisce aggiornamenti, codice sicuro e manutenzione.
WordPress e sicuro?
WordPress puo essere sicuro se configurato e mantenuto correttamente. Il rischio aumenta quando installazione, plugin e codice custom vengono lasciati senza controllo.
Ogni form e pericoloso?
Ogni input e una potenziale superficie di attacco. Il punto non e evitare i form, ma gestirli con validazione, sanitizzazione e query sicure.
Conclusione
La prevenzione delle SQL Injection su WordPress richiede disciplina: aggiornare, ridurre i componenti inutili, scrivere query sicure e monitorare. Non e un intervento una tantum, ma una pratica continuativa di manutenzione e qualita.
