Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coppa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Come prevenire gli attacchi SQL Injection di WordPress (7 suggerimenti)

Nota editoriale: guadagniamo una commissione dai link dei partner su WPBeginner. Le commissioni non influenzano le opinioni o le valutazioni dei nostri redattori. Per saperne di più su Processo editoriale.

Volete prevenire gli attacchi SQL injection di WordPress?

L’iniezione SQL è una vulnerabilità di sicurezza che gli hacker possono utilizzare per attaccare il database del sito web. Una volta fatto, un aggressore può leggere i dati sensibili, modificarli e prendere il controllo dell’intero database.

In questo articolo condivideremo alcuni consigli pratici per prevenire gli attacchi SQL injection in WordPress, passo dopo passo.

Prevent WordPress SQL Injection Attacks

Perché prevenire gli attacchi SQL Injection di WordPress?

SQL è l’acronimo di Structured Query Language, un linguaggio di programmazione che comunica con il database del sito WordPress. Senza questa caratteristica, il sito non può generare contenuti dinamici.

Tuttavia, un input non autorizzato da parte dell’utente, un software non aggiornato o la rivelazione di informazioni sensibili possono causare una vulnerabilità della sicurezza e facilitare l’esecuzione di attacchi SQL injection da parte degli hacker.

Questo attacco prende di mira il server del database e aggiunge codice o dichiarazioni dannose all’SQL. In questo modo, gli hacker possono utilizzare le informazioni sensibili memorizzate nel database, come i dati degli utenti, per il furto di identità, l’acquisizione di account, le frodi finanziarie e altro ancora.

Possono anche modificare le voci del database o le autorizzazioni degli account ed eseguire attacchi DDOS, rendendo difficile per gli utenti reali visitare il vostro sito web.

Questo può danneggiare la fiducia dei clienti, avere un impatto negativo sull’esperienza dell’utente e diminuire il traffico del sito web, con conseguenze negative per la crescita della vostra piccola impresa.

Detto questo, diamo un’occhiata ad alcuni suggerimenti praticabili che possono prevenire gli attacchi SQL injection in WordPress.

Nota: prima di apportare modifiche al database, a scopo preventivo, si consiglia di crearne un backup. In questo modo, se qualcosa dovesse andare storto, potrete utilizzare il backup per correggerlo. Per maggiori dettagli, consultate il nostro tutorial su come creare un backup del database di WordPress manualmente.

1. Eseguire normali aggiornamenti del sito e utilizzare un firewall

Un modo efficace per prevenire gli attacchi SQL injection consiste nell’aggiornamento normale del sito WordPress all’ultima versione. Questi aggiornamenti spesso correggono le vulnerabilità della sicurezza, compresi i problemi del software del database, rendendo difficile per gli hacker attaccare il vostro sito.

Se si utilizza una versione obsoleta di WordPress, si consiglia di abilitare gli aggiornamenti automatici per l’ultima versione visitando la pagina Bacheca ” Aggiornamenti.

Qui è sufficiente fare clic sul collega “Abilita gli aggiornamenti automatici per tutte le nuove versioni di WordPress”. Ora tutti i principali aggiornamenti saranno installati sul vostro sito al momento della versione.

Install WordPress updates

Per ulteriori informazioni, potete consultare la nostra guida per principianti su come aggiornare WordPress in modo sicuro.

Una volta fatto ciò, è possibile aggiungere un firewall per una maggiore sicurezza. Questa caratteristica funge da scudo tra il sito e il traffico in entrata e blocca le minacce più comuni alla sicurezza, compresi gli attacchi SQL, prima che raggiungano il sito web.

Per questa funzione, consigliamo Sucuri, il miglior firewall per WordPress presente sul mercato. Offre un firewall a livello di applicazione, prevenzione della forza bruta e servizi di rimozione di malware e aggiungi in blacklist, il che lo rende un’ottima scelta.

How website firewall blocks attacks

Inoltre, lo strumento ci ha aiutato a bloccare circa 450.000 attacchi WordPress sul nostro sito web in passato.

Per maggiori dettagli, consultate la nostra guida completa alla sicurezza di WordPress.

2. Nascondere la versione di WordPress

Di default, WordPress visualizza il numero di versione corrente del software che utilizzate sul vostro sito web. Ad esempio, se si utilizza WordPress 6.4, questa versione viene visualizzata sul sito per il monitoraggio.

Tuttavia, la visibilità pubblica del numero di versione può causare minacce alla sicurezza e rendere più facile per gli hacker eseguire attacchi WordPress SQL injection.

Remove WordPress version number

Questo perché ogni versione di WordPress ha le sue vulnerabilità uniche che gli aggressori possono sfruttare dopo aver scoperto la vostra versione. In questo modo potranno aggiungere snippet di codice dannoso al vostro sito attraverso campi di input vulnerabili.

È possibile rimuovere facilmente il numero di versione dal sito aggiungendo il seguente frammento di codice al file functions.php.

add_filter('the_generator', '__return_empty_string');

Una volta fatto questo, gli hacker non saranno in grado di trovare il numero di versione di WordPress attraverso gli scanner automatici o in qualsiasi altro modo.

Nota: tenere presente che un piccolo errore nell’aggiunta del codice può rendere inaccessibile il sito web. Per questo motivo consigliamo WPCode. È il miglior plugin per gli snippet di codice che rende l’aggiunta di codice personalizzato al vostro sito super sicura e facile.

Per maggiori dettagli, consultate il nostro tutorial sul modo corretto di rimuovere il numero di versione di WordPress.

3. Cambiare il prefisso del database di WordPress

Di default, WordPress aggiunge il prefisso wp_ a tutti i file del database, il che rende facile per gli hacker pianificare un attacco mirando al prefisso.

Il modo più semplice per prevenire gli attacchi SQL injection è cambiare il prefisso predefinito del database con qualcosa di unico che gli hacker non saranno in grado di indovinare.

È possibile farlo facilmente collegando il sito web tramite FTP. Dopodiché, aprire il file wp-config.php e trovare la riga $table_prefix. Quindi, potete cambiarlo dal semplice wp_ predefinito a qualcosa di diverso come questo: wp_a123456_.

$table_prefix  = 'wp_a123456_';

Successivamente, è necessario visitare il cPanel del proprio account di web hosting. Per questo tutorial utilizzeremo Bluehost, ma il vostro cPanel potrebbe avere un aspetto diverso a seconda della vostra società di web hosting.

Qui, passare alla scheda “Avanzate” e fare clic sul pulsante “Gestisci” accanto alla sezione “PHPMyAdmin”.

Click the Manage button next to the PHPMyAdmin section

Si aprirà una nuova pagina in cui si dovrà selezionare il nome del database dalla colonna di sinistra e passare alla scheda “SQL” in alto.

Successivamente, è possibile aggiungere la seguente query SQL nella casella di testo.

SQL query in phpMyAdmin

Ricordarsi di cambiare il prefisso del database con quello scelto durante la modifica del file wp-config.php.

RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

Per ulteriori istruzioni, potete consultare il nostro tutorial su come cambiare il prefisso del database di WordPress per migliorare la sicurezza.

4. Validare i dati dell’utente

Gli hacker sono soliti iniettare attacchi SQL sul vostro sito web utilizzando campi in cui vengono inseriti i dati dell’utente, come le sezioni dei commenti o i campi dei moduli di contatto.

Per questo motivo, importa validare tutti i dati che vengono inviati sul vostro blog WordPress. Ciò significa che i dati degli utenti non verranno inviati sul vostro sito se non seguono un formato specifico.

Ad esempio, un utente non potrà inviare il modulo se il campo dell’indirizzo email non contiene il simbolo ‘@’. Aggiungendo questa valida funzione alla maggior parte dei campi del modulo, si possono prevenire gli attacchi di tipo SQL injection.

Validate your email field

Per farlo, è necessario Formidable Forms, un plugin avanzato per la creazione di moduli. È dotato di un’opzione “Formato della maschera di input” in cui è possibile aggiungere il formato che gli utenti devono seguire per inviare i dati del campo del modulo.

È possibile aggiungere un formato specifico per i numeri di telefono o per i singoli campi di testo.

Add hone number format

Se non volete convalidare i campi del vostro modulo, vi consigliamo WPForms perché è il miglior plugin per moduli di contatto con una protezione completa dallo spam e il supporto di Google reCAPTCHA.

È anche possibile aggiungere menu a discesa e checkbox nei moduli. In questo modo sarà difficile per gli hacker aggiungere dati dannosi.

wpforms

Per maggiori dettagli, consultate il nostro tutorial su come creare un modulo di contatto sicuro in WordPress.

5. Limitare l’accesso e le autorizzazioni del ruolo dell’utente

Un altro consiglio per prevenire gli attacchi di WordPress SQL injection è quello di limitare l’accesso degli utenti al sito web.

Ad esempio, se il vostro blog è multi-autore, avrete diversi autori, abbonati e amministratori. In questo caso, è possibile migliorare la sicurezza del sito limitando l’accesso completo all’amministratore.

È possibile limitare tutti gli altri ruoli degli utenti alle funzioni specifiche di cui hanno bisogno per svolgere il loro lavoro. In questo modo si riduce l’accesso degli utenti al database e si prevengono gli attacchi di tipo SQL injection.

È possibile farlo con il plugin gratuito Remove Bacheca Access. Una volta attivato, è sufficiente visitare la pagina Impostazioni ” Accesso alla Bacheca, dove è possibile decidere quali ruoli utente possono accedere alla Bacheca.

Limit the dashboard access settings

Se volete limitare gli utenti in base alle loro capacità, potete consultare il nostro tutorial su come add-on e rimozione delle capacità dai ruoli degli utenti in WordPress.

Allo stesso modo, è possibile limitare gli autori ai propri articoli nell’area di amministrazione per una maggiore sicurezza.

6. Creazione di messaggi di errore personalizzati per il database

A volte gli utenti possono imbattersi in un errore di database sul sito web, che può visualizzare informazioni importanti sul database, rendendolo vulnerabile agli attacchi SQL injection.

In questo caso, si consiglia di creare un messaggio personalizzato di errore del database che verrà visualizzato dagli utenti quando si imbatteranno in questo errore comune. A tale scopo, è necessario copiare e incollare il seguente contenuto in un blocco note e salvare il file come “db-error.php”.

<?php // custom WordPress database error page
   
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600'); // 1 hour = 3600 seconds
   
  // If you wish to email yourself upon an error
  // mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
   
?>
   
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  You got problems.
</body>

Dopodiché, collegate il vostro sito a un programma FTP e caricate il file appena creato nella directory /wp-content/ del vostro sito.

Ora, quando gli utenti si imbattono in un errore del database sul vostro sito web, vedranno solo un messaggio di errore che li informa del problema senza rivelare alcuna informazione sensibile.

Custom database error preview page

Inoltre, nella scheda del browser verrà visualizzato il titolo “Errore del database”.

Per maggiori dettagli, consultate il nostro tutorial su come add-on una pagina personalizzata di errore del database in WordPress.

7. Rimuovere le funzionalità di database non necessarie

Per prevenire gli attacchi SQL injection, dovreste anche cercare di rimuovere tutte le funzionalità del database e i file non necessari sul vostro sito web.

Ad esempio, è possibile eliminare le tabelle non necessarie, le cestine o i commenti non approvati che possono rendere il database vulnerabile agli hacker.

Per rimuovere le funzionalità inutili del database, consigliamo WP-Optimize. È un plugin incredibile che rimuove le tabelle non necessarie, le revisioni dei post, le bozze, i commenti cestinati, gli articoli eliminati, i pingback, i metadati degli articoli e molto altro ancora.

Remove unecessary database functionality

Rimuove tutti i file non necessari e ottimizza il database per renderlo più sicuro e veloce. Per maggiori dettagli, consultate la nostra guida per principianti su come ottimizzare il database di WordPress.

Bonus: Usare i servizi Pro di WPBeginner per creare un sito sicuro

Una volta prese tutte le misure preventive contro gli attacchi di SQL injection, si può anche optare per i Servizi Pro di WPBeginner.

Possiamo aiutarvi a identificare e correggere qualsiasi altra vulnerabilità di sicurezza di cui non siete a conoscenza. Inoltre, se avete già subito un attacco SQL injection, i nostri esperti possono aiutarvi a contenere i danni e a recuperare i vostri sistemi.

WPBeginner Professional Services Hacked Site Repair

Potete anche assumerci per migliorare l’ottimizzazione della velocità del vostro sito, il design, la SEO o anche per ricostruire completamente il vostro sito WordPress esistente, che sia stato violato o meno.

Per ulteriori informazioni, selezionate tutti i nostri servizi professionali WPBeginner.

Speriamo che questo articolo vi abbia aiutato a capire come prevenire gli attacchi SQL injection di WordPress. Vi consigliamo di consultare anche la nostra guida per principianti sulla gestione dei database di WordPress e la nostra selezione in alto dei migliori plugin per database di WordPress.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

1 commentoLascia una risposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.