Securizarea site-ului dvs. WordPress împotriva atacurilor de tip SQL injection este necesară pentru a vă proteja datele și a menține încrederea vizitatorilor.
SQL injection este o tehnică comună utilizată de hackeri pentru a ataca baza dvs. de date. Odată ce fac acest lucru, hackerii pot citi datele dvs. sensibile, le pot modifica și pot prelua controlul întregii dvs. baze de date.
Pentru a vă proteja site-ul web de această amenințare, este crucial să implementați măsuri de securitate puternice pe site-ul dumneavoastră.
La WPBeginner, luăm securitatea foarte în serios și am depus eforturi suplimentare pentru a ne proteja site-ul de hackeri și malware. Multe dintre practicile de securitate pe care le recomandăm împotriva atacurilor de tip SQL injection sunt metode pe care le-am folosit cu succes noi înșine.
În acest articol, vom împărtăși câteva sfaturi practice pentru a preveni atacurile de tip SQL injection în WordPress, pas cu pas.

De ce să preveniți atacurile de tip SQL injection în WordPress?
SQL înseamnă Structured Query Language, care este un limbaj de programare ce comunică cu baza de date a site-ului dvs. WordPress. Fără această funcționalitate, site-ul dvs. nu poate genera conținut dinamic.
Cu toate acestea, introducerea neautorizată de date de către utilizator, software-ul învechit sau dezvăluirea informațiilor sensibile pot cauza vulnerabilități de securitate și pot facilita atacurile de tip SQL injection din partea hackerilor.
Acest atac vizează serverul dvs. de baze de date și adaugă cod sau instrucțiuni malițioase la SQL-ul dvs. Făcând acest lucru, hackerii pot folosi informații sensibile stocate în baza dvs. de date, cum ar fi datele utilizatorilor, pentru furt de identitate, preluare de conturi, fraudă financiară și multe altele.
De asemenea, pot modifica intrările din baza de date sau permisiunile contului și pot efectua atacuri DDoS, făcând dificil pentru utilizatorii reali să vă viziteze site-ul.
Acest lucru poate dăuna încrederii clienților, poate afecta negativ experiența utilizatorului și poate reduce traficul pe site, ceea ce va fi rău pentru creșterea afacerii dumneavoastră mici.
Acestea fiind spuse, să aruncăm o privire la câteva sfaturi acționabile care pot preveni atacurile de tip SQL injection în WordPress. Iată o prezentare generală rapidă a ceea ce vom discuta în acest articol:
- Efectuează Actualizări Regulate ale Site-ului și Folosește un Firewall
- Ascunde versiunea ta de WordPress
- Schimbați prefixul bazei de date WordPress
- Validează datele utilizatorului
- Limitează accesul și permisiunile rolurilor utilizatorilor
- Creează mesaje personalizate de eroare la baza de date
- Eliminați funcționalitatea inutilă a bazei de date
Notă: Înainte de a face orice modificări la baza de date pentru măsuri preventive, vă recomandăm să creați o copie de rezervă a acesteia. Astfel, dacă ceva nu merge bine, puteți folosi copia de rezervă pentru a o repara. Pentru detalii, consultați tutorialul nostru despre cum să creați o copie de rezervă a bazei de date WordPress manual.
1. Efectuează Actualizări Regulate ale Site-ului și Folosește un Firewall
O modalitate eficientă de a preveni atacurile de tip SQL injection este actualizarea regulată a site-ului dvs. WordPress la cea mai recentă versiune. Aceste actualizări corectează adesea vulnerabilitățile de securitate, inclusiv problemele software ale bazei de date, făcând dificil pentru hackeri să vă atace site-ul.
Dacă utilizați o versiune învechită de WordPress, atunci recomandăm activarea actualizărilor automate pentru cea mai recentă versiune, vizitând pagina Panou de control » Actualizări.
Aici, pur și simplu faceți clic pe linkul „Activați actualizările automate pentru toate versiunile noi de WordPress”. Acum, toate actualizările majore vor fi instalate pe site-ul dvs. la lansare.

Pentru mai multe informații, s-ar putea să doriți să consultați ghidul nostru pentru începători despre cum să actualizați WordPress în siguranță.
Odată ce ați făcut acest lucru, puteți adăuga și un firewall pentru securitate suplimentară. Această funcție acționează ca un scut între site-ul dvs. și traficul de intrare și blochează amenințările comune de securitate, inclusiv atacurile SQL, înainte ca acestea să ajungă la site-ul dvs.
Dacă aveți o mică afacere online, recomandăm Sucuri, care este una dintre cele mai bune opțiuni de software de firewall WordPress de pe piață. Oferă un firewall la nivel de aplicație, prevenirea atacurilor brute force, precum și servicii de eliminare a malware-ului și a listelor negre, făcându-l o alegere excelentă.

Avem experiență directă cu instrumentul. Ne-a ajutat chiar să blocăm 450.000 de atacuri WordPress pe site-ul nostru în trecut.
Acestea fiind spuse, Sucuri s-ar putea să nu fie suficient de puternic pentru site-uri mai mari, cu trafic intens. În acest caz, ați putea lua în considerare Cloudflare, care vă poate oferi funcționalități de securitate, precum și o rețea impresionantă de livrare de conținut (CDN).
Dacă nu sunteți sigur ce opțiune este cea mai bună pentru site-ul dvs. web, consultați articolul nostru despre de ce am trecut de la Sucuri la Cloudflare sau comparația noastră Sucuri vs Cloudflare.
2. Ascunde versiunea ta de WordPress
În mod implicit, WordPress afișează numărul versiunii curente a software-ului pe care îl utilizați pe site-ul dvs. web. De exemplu, dacă utilizați WordPress 6.4, atunci această versiune va fi afișată pe site-ul dvs. pentru urmărire.
Cu toate acestea, vizibilitatea publică a numărului versiunii dvs. poate crea amenințări de securitate și poate facilita atacurile de tip SQL injection pe WordPress din partea hackerilor.

Acest lucru se datorează faptului că fiecare versiune de WordPress are propriile vulnerabilități unice pe care atacatorii le pot exploata după ce îți descoperă versiunea. Acest lucru le va permite să adauge fragmente de cod malițios pe site-ul tău prin câmpuri de introducere vulnerabile.
Puteți elimina cu ușurință numărul versiunii de pe site-ul dvs. adăugând următorul fragment de cod în fișierul dvs. functions.php.
add_filter('the_generator', '__return_empty_string');
Odată ce faci acest lucru, hackerii nu vor mai putea găsi numărul versiunii tale de WordPress prin scanere automate sau prin orice altă metodă.
Notă: Rețineți că o eroare minoră la adăugarea codului poate face site-ul dumneavoastră inaccesibil. De aceea recomandăm WPCode. Este cel mai bun plugin pentru fragmente de cod care face adăugarea de cod personalizat pe site-ul dumneavoastră super sigură și ușoară.
Pentru mai multe detalii, consultați tutorialul nostru despre modul corect de a elimina numărul versiunii WordPress.
3. Schimbați prefixul bazei de date WordPress
În mod implicit, WordPress adaugă prefixul wp_ tuturor fișierelor bazei de date, ceea ce facilitează planificarea unui atac de către hackeri prin țintirea prefixului.
Cel mai simplu mod de a preveni atacurile de tip SQL injection este să schimbați prefixul implicit al bazei de date cu ceva unic pe care hackerii nu îl vor putea ghici.
Puteți face acest lucru cu ușurință conectându-vă la site-ul dvs. web prin FTP. După aceea, deschideți fișierul wp-config.php și găsiți linia de modificare a $table_prefix. Apoi, o puteți schimba de la simplul implicit wp_ la altceva, cum ar fi: wp_a123456_.
$table_prefix = 'wp_a123456_';
Apoi, trebuie să vizitați cPanel-ul contului dvs. de găzduire web. Pentru acest tutorial, vom folosi Bluehost. Cu toate acestea, cPanel-ul dvs. poate arăta puțin diferit, în funcție de compania dvs. de găzduire web.
Aici, comută pe fila „Avansat” și apasă butonul „Gestionare” de lângă secțiunea „PHPMyAdmin”.

Aceasta va deschide o nouă pagină unde trebuie să selectați numele bazei de date din coloana din stânga și să comutați la fila „SQL” din partea de sus.
După aceea, poți adăuga următorul interogare SQL în caseta de text.

Doar țineți minte să schimbați prefixul bazei de date cu cel pe care l-ați ales atunci când editați fișierul 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`;
Pentru mai multe instrucțiuni, puteți consulta tutorialul nostru despre cum să schimbați prefixul bazei de date WordPress pentru a îmbunătăți securitatea.
4. Validați datele utilizatorului
Hackerii injectează de obicei atacuri SQL pe site-ul dvs. web folosind câmpuri pentru introducerea datelor utilizatorului, cum ar fi secțiunile de comentarii sau câmpurile formularului de contact.
De aceea este important să validați toate datele trimise pe blogul dvs. WordPress. Aceasta înseamnă că datele utilizatorului nu vor fi trimise pe site-ul dvs. dacă nu respectă un format specific.
De exemplu, un utilizator nu va putea trimite formularul dacă câmpul adresei de e-mail nu conține simbolul „@”. Adăugând această validare la majoritatea câmpurilor formularului, puteți preveni atacurile de tip SQL injection.

Pentru a face acest lucru, veți avea nevoie de Formidable Forms, care este un plugin avansat pentru crearea formularelor. Acesta vine cu o opțiune „Format mască de intrare” unde puteți adăuga formatul pe care utilizatorii trebuie să îl urmeze pentru a trimite datele din câmpurile formularului.
Poți adăuga un format specific pentru numere de telefon sau câmpuri de text simple.

Dacă nu doriți să vă validați câmpurile formularului, atunci recomandăm WPForms deoarece este cel mai bun plugin pentru formulare de contact care vine cu protecție completă împotriva spam-ului și suport Google reCAPTCHA.
De asemenea, îți permite să adaugi meniuri derulante și casete de selectare la formularele tale, făcând dificil pentru hackeri să adauge date malițioase.
Pentru mai multe detalii, consultați tutorialul nostru despre cum să creați un formular de contact securizat în WordPress.
5. Limitați accesul și permisiunile rolurilor utilizatorilor
Un alt sfat pentru a preveni atacurile de tip SQL injection în WordPress este să limitați accesul utilizatorilor la site-ul dvs. web.
De exemplu, dacă ai un blog cu mai mulți autori, atunci vei avea diverși autori, împreună cu abonați și administratori. În acest caz, poți îmbunătăți securitatea site-ului limitând accesul complet de administrator doar la administrator.
Puteți restricționa toate celelalte roluri de utilizator la funcții specifice pe care vor trebui să le îndeplinească pentru a-și face treaba. Acest lucru va reduce accesul utilizatorilor la baza dvs. de date și va preveni atacurile de tip SQL injection.
Puteți face acest lucru cu pluginul gratuit Remove Dashboard Access. După activare, pur și simplu vizitați pagina Setări » Acces la tabloul de bord, unde puteți decide ce roluri de utilizator obțin acces la tabloul de bord.

Dacă dorești să limitezi utilizatorii în funcție de capacitatea lor, atunci poți consulta tutorialul nostru despre cum să adaugi sau să elimini capacități din rolurile utilizatorilor în WordPress.
Similar, poți, de asemenea, să limitezi autorii la propriile postări în zona ta de administrare pentru mai multă securitate.
6. Creați mesaje personalizate pentru erorile bazei de date
Uneori, utilizatorii dvs. pot întâlni o eroare de bază de date pe site-ul dvs., care poate afișa informații importante despre baza dvs. de date, făcând-o vulnerabilă la atacuri de tip SQL injection.
În acest caz, recomandăm crearea unui mesaj personalizat de eroare a bazei de date care va fi afișat utilizatorilor atunci când întâlnesc această eroare comună. Pentru a face acest lucru, va trebui să copiați și să lipiți următorul conținut într-o aplicație de notepad și să salvați fișierul ca „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>
După aceea, conectează-ți site-ul la un program FTP și încarcă fișierul pe care tocmai l-ai creat în directorul /wp-content/ al site-ului tău.
Acum, când utilizatorii întâmpină o eroare de bază de date pe site-ul tău, vor vedea un mesaj de eroare care îi informează despre problemă, fără a dezvălui informații sensibile.

În plus, titlul „Eroare de Bază de Date” va fi afișat în fila browserului web.
Pentru mai multe detalii, consultați tutorialul nostru despre cum să adăugați o pagină personalizată de eroare de bază de date în WordPress.
7. Eliminați funcționalitățile inutile ale bazei de date
Pentru a preveni atacurile de tip SQL injection, ar trebui, de asemenea, să încercați să eliminați toate funcționalitățile bazei de date și fișierele de care nu aveți nevoie pe site-ul dvs.
De exemplu, poți șterge tabele inutile, gunoi sau comentarii neaprobate care pot face baza ta de date susceptibilă la hackeri.
Pentru a elimina funcționalitatea inutilă a bazei de date, recomandăm WP-Optimize. Este un plugin uimitor care elimină tabelele inutile, revizuirile postărilor, ciornele, comentariile șterse, postările șterse, pingback-urile, metadatele postărilor și multe altele.

Acesta elimină toate fișierele de care nu aveți nevoie și optimizează baza de date pentru a deveni mai sigură și mai rapidă. Pentru detalii, consultați ghidul nostru pentru începători despre cum să vă optimizați baza de date WordPress.
Sperăm că acest articol v-a ajutat să învățați cum să preveniți atacurile de tip SQL injection în WordPress. De asemenea, ați putea dori să consultați ghidul nostru pentru începători despre cum să verificați actualizările de securitate WordPress sau ghidul nostru complet de securitate WordPress.
Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.


Moinuddin Waheed
Acest lucru este nou pentru mine, că pot ascunde cu ușurință versiunea WordPress, ceea ce va împiedica hackerii să ghicească vulnerabilitățile bazate pe versiunile WordPress și pe lacunele lor.
Sfaturi grozave pentru a preveni injecția SQL pe site-ul web.
Voi implementa aceste trucuri pentru a face site-ul meu infailibil la orice problemă de securitate.
Oyatogun Oluwaseun Samuel
Pentru mine, ascunderea versiunii WordPress este nouă. Fiecare versiune de WordPress vine cu propria vulnerabilitate, așa că ascunderea numărului versiunii va lăsa hackerii în impas cu privire la ce versiune de WordPress este utilizată, darămite să utilizeze vulnerabilități conexe, mulțumesc pentru informație. De asemenea, cred că dacă dezvoltați un plugin care colectează intrări de la utilizatori, este înțelept să escapați intrările utilizatorilor (după validarea normală) care vor fi inserate în baza de date.
Jiří Vaněk
Securitatea WordPress este alfa și omega pentru mine. Legat de asta este SQL, la care nu am acordat niciodată prea multă atenție. Mulțumesc pentru această listă de sfaturi excelente. Voi verifica imediat blogul meu pentru a vedea ce pot îmbunătăți conform listei dumneavoastră. Cel puțin voi încerca să ascund versiunea și așa mai departe.