Die Absicherung Ihrer WordPress-Website gegen SQL-Injection-Angriffe ist notwendig, um Ihre Daten zu schützen und das Vertrauen Ihrer Besucher zu erhalten.
SQL-Injection ist eine gängige Technik, die von Hackern verwendet wird, um Ihre Datenbank anzugreifen. Sobald sie dies tun, können Hacker Ihre sensiblen Daten lesen, ändern und die Kontrolle über Ihre gesamte Datenbank übernehmen.
Um Ihre Website vor dieser Bedrohung zu schützen, ist es entscheidend, starke Sicherheitsmaßnahmen auf Ihrer Website zu implementieren.
Bei WPBeginner nehmen wir die Sicherheit sehr ernst und haben uns über das normale Maß hinaus bemüht, unsere Website vor Hackern und Malware zu schützen. Viele der Sicherheitspraktiken, die wir gegen SQL-Injection-Angriffe empfehlen, sind Methoden, die wir selbst erfolgreich angewendet haben.
In diesem Artikel teilen wir einige umsetzbare Tipps, um SQL-Injection-Angriffe in WordPress Schritt für Schritt zu verhindern.

Warum WordPress SQL-Injection-Angriffe verhindern?
SQL steht für Structured Query Language, eine Programmiersprache, die mit der Datenbank Ihrer WordPress-Website kommuniziert. Ohne diese Funktion kann Ihre Website keine dynamischen Inhalte generieren.
Unbefugte Benutzereingaben, veraltete Software oder die Offenlegung sensibler Informationen können jedoch zu Sicherheitslücken führen und es Hackern erleichtern, SQL-Injection-Angriffe durchzuführen.
Dieser Angriff zielt auf Ihren Datenbankserver ab und fügt bösartigen Code oder Anweisungen zu Ihrem SQL hinzu. Dadurch können Hacker sensible Informationen, die in Ihrer Datenbank gespeichert sind, wie Benutzerdaten, für Identitätsdiebstahl, Kontoübernahme, Finanzbetrug und mehr verwenden.
Sie können auch Datenbankeinträge oder Berechtigungen ändern und DDoS-Angriffe durchführen, was es für tatsächliche Benutzer schwierig macht, Ihre Website zu besuchen.
Dies kann das Kundenvertrauen schädigen, das Benutzererlebnis negativ beeinflussen und den Website-Traffic verringern, was schlecht für das Wachstum Ihres kleinen Unternehmens ist.
Nichtsdestotrotz wollen wir uns nun einige umsetzbare Tipps ansehen, die SQL-Injection-Angriffe in WordPress verhindern können. Hier ist ein kurzer Überblick darüber, was wir in diesem Artikel besprechen werden:
- Führen Sie regelmäßig Website-Updates durch und verwenden Sie eine Firewall
- Verbergen Sie Ihre WordPress-Version
- Ändern Sie das WordPress-Datenbankpräfix
- Benutzerdaten validieren
- Beschränken Sie den Zugriff und die Berechtigungen von Benutzerrollen
- Benutzerdefinierte Datenbankfehlermeldungen erstellen
- Entfernen Sie unnötige Datenbankfunktionalität
Hinweis: Bevor Sie Änderungen an Ihrer Datenbank zur Vorbeugung vornehmen, empfehlen wir, eine Sicherung davon zu erstellen. Auf diese Weise können Sie die Sicherung zur Behebung verwenden, falls etwas schief geht. Details finden Sie in unserem Tutorial zum manuellen Sichern einer WordPress-Datenbank.
1. Führen Sie regelmäßig Website-Updates durch und verwenden Sie eine Firewall
Eine effektive Methode zur Verhinderung von SQL-Injection-Angriffen ist die regelmäßige Aktualisierung Ihrer WordPress-Site auf die neueste Version. Diese Updates schließen oft Sicherheitslücken, einschließlich Problemen mit der Datenbanksoftware, was es für Hacker schwierig macht, Ihre Website anzugreifen.
Wenn Sie eine veraltete Version von WordPress verwenden, empfehlen wir, automatische Updates zu aktivieren für die neueste Version, indem Sie die Seite Dashboard » Updates besuchen.
Klicken Sie hier einfach auf den Link „Automatische Updates für alle neuen Versionen von WordPress aktivieren“. Nun werden alle wichtigen Updates bei ihrer Veröffentlichung auf Ihrer Website installiert.

Weitere Informationen finden Sie in unserem Leitfaden für Anfänger zum sicheren Aktualisieren von WordPress.
Sobald Sie dies getan haben, können Sie zur zusätzlichen Sicherheit auch eine Firewall hinzufügen. Diese Funktion fungiert als Schutzschild zwischen Ihrer Website und dem eingehenden Datenverkehr und blockiert gängige Sicherheitsbedrohungen, einschließlich SQL-Angriffen, bevor sie Ihre Website erreichen.
Wenn Sie ein kleines Online-Unternehmen betreiben, empfehlen wir Sucuri, eine der besten WordPress-Firewall-Softwareoptionen auf dem Markt. Es bietet eine Firewall auf Anwendungsebene, Schutz vor Brute-Force-Angriffen sowie Dienste zur Entfernung von Malware und Blacklists, was es zu einer großartigen Wahl macht.

Wir haben direkte Erfahrungen mit dem Tool. Es hat uns sogar geholfen, 450.000 WordPress-Angriffe auf unserer Website in der Vergangenheit zu blockieren.
Allerdings ist Sucuri für größere Websites mit hohem Traffic möglicherweise nicht leistungsfähig genug. In diesem Fall sollten Sie Cloudflare in Betracht ziehen, das Ihnen Sicherheitsfunktionen sowie ein beeindruckendes Content Delivery Network (CDN) bieten kann.
Wenn Sie sich nicht sicher sind, welche Option für Ihre Website am besten geeignet ist, lesen Sie unseren Artikel darüber, warum wir von Sucuri zu Cloudflare gewechselt sind, oder unseren Sucuri vs. Cloudflare Vergleich.
2. Verstecken Sie Ihre WordPress-Version
Standardmäßig zeigt WordPress die aktuelle Versionsnummer der von Ihnen verwendeten Software auf Ihrer Website an. Wenn Sie beispielsweise WordPress 6.4 verwenden, wird diese Version auf Ihrer Website zur Nachverfolgung angezeigt.
Ihre Versionsnummer kann jedoch öffentlich sichtbar sein und Sicherheitsbedrohungen darstellen, was es Hackern erleichtert, WordPress SQL-Injection-Angriffe durchzuführen.

Dies liegt daran, dass jede Version von WordPress ihre eigenen einzigartigen Schwachstellen hat, die Angreifer ausnutzen können, nachdem sie Ihre Version entdeckt haben. Dies ermöglicht es ihnen, bösartige Code-Schnipsel über anfällige Eingabefelder auf Ihre Website einzufügen.
Sie können die Versionsnummer ganz einfach von Ihrer Website entfernen, indem Sie den folgenden Code-Schnipsel zu Ihrer functions.php-Datei hinzufügen.
add_filter('the_generator', '__return_empty_string');
Sobald Sie dies getan haben, können Hacker Ihre WordPress-Versionsnummer nicht mehr über automatische Scanner oder auf andere Weise finden.
Hinweis: Beachten Sie, dass ein kleiner Fehler beim Hinzufügen von Code Ihre Website unzugänglich machen kann. Deshalb empfehlen wir WPCode. Es ist das beste Plugin für Code-Schnipsel, das das Hinzufügen von benutzerdefiniertem Code zu Ihrer Website super sicher und einfach macht.
Weitere Details finden Sie in unserem Tutorial zum richtigen Entfernen der WordPress-Versionsnummer.
3. Ändern Sie das WordPress-Datenbankpräfix
Standardmäßig fügt WordPress das Präfix wp_ zu allen Ihren Datenbankdateien hinzu, was es Hackern erleichtert, einen Angriff zu planen, indem sie das Präfix ins Visier nehmen.
Der einfachste Weg, SQL-Injection-Angriffe zu verhindern, ist die Änderung des Standard-Datenbankpräfixes in etwas Einzigartiges, das Hacker nicht erraten können.
Sie können dies ganz einfach tun, indem Sie Ihre Website über FTP verbinden. Öffnen Sie danach die Datei wp-config.php und suchen Sie die Zeile $table_prefix. Dann können Sie sie von einfach dem Standard wp_ in etwas anderes wie folgt ändern: wp_a123456_.
$table_prefix = 'wp_a123456_';
Als Nächstes müssen Sie das cPanel Ihres Webhosting-Kontos aufrufen. Für dieses Tutorial verwenden wir Bluehost. Ihr cPanel kann jedoch je nach Ihrem Webhosting-Unternehmen etwas anders aussehen.
Wechseln Sie hier zum Tab „Erweitert“ und klicken Sie auf die Schaltfläche „Verwalten“ neben dem Abschnitt „PHPMyAdmin“.

Dies öffnet eine neue Seite, auf der Sie Ihren Datenbanknamen aus der linken Spalte auswählen und zum Reiter „SQL“ oben wechseln müssen.
Danach können Sie die folgende SQL-Abfrage in das Textfeld einfügen.

Denken Sie daran, das Datenbankpräfix zu dem zu ändern, das Sie beim Bearbeiten der Datei wp-config.php ausgewählt haben.
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`;
Für weitere Anleitungen sehen Sie sich unser Tutorial an, wie Sie das WordPress-Datenbankpräfix ändern, um die Sicherheit zu verbessern.
4. Benutzerdaten validieren
Hacker injizieren normalerweise SQL-Angriffe auf Ihre Website, indem sie Felder zur Eingabe von Benutzerdaten verwenden, wie z. B. Kommentarbereiche oder Kontaktformularfelder.
Deshalb ist es wichtig, alle Daten zu validieren, die auf Ihrem WordPress-Blog übermittelt werden. Das bedeutet, dass Benutzerdaten nicht auf Ihrer Website übermittelt werden, wenn sie kein bestimmtes Format haben.
Zum Beispiel kann ein Benutzer sein Formular nicht absenden, wenn das E-Mail-Adressfeld das '@'-Symbol nicht enthält. Durch Hinzufügen dieser Validierung zu den meisten Ihrer Formularfelder können Sie SQL-Injection-Angriffe verhindern.

Dazu benötigen Sie Formidable Forms, ein fortschrittliches Formular-Builder-Plugin. Es verfügt über eine Option „Eingabemaskenformat“, mit der Sie das Format hinzufügen können, dem Benutzer folgen müssen, um die Formulardaten zu übermitteln.
Sie können ein bestimmtes Format für Telefonnummern oder einzelne Textfelder hinzufügen.

Wenn Sie Ihre Formularfelder nicht validieren möchten, empfehlen wir WPForms, da es das beste Kontaktformular-Plugin ist, das über vollständigen Spam-Schutz und Google reCAPTCHA-Unterstützung verfügt.
Es ermöglicht Ihnen auch, Dropdown-Menüs und Kontrollkästchen zu Ihren Formularen hinzuzufügen, was es Hackern erschwert, bösartige Daten einzufügen.

Weitere Details finden Sie in unserem Tutorial zur Erstellung eines sicheren Kontaktformulars in WordPress.
5. Beschränken Sie den Zugriff und die Berechtigungen von Benutzerrollen
Ein weiterer Tipp zur Verhinderung von WordPress SQL-Injection-Angriffen ist die Einschränkung des Benutzerzugriffs auf Ihre Website.
Wenn Sie beispielsweise einen Blog mit mehreren Autoren haben, gibt es neben Abonnenten und Administratoren verschiedene Autoren. In diesem Fall können Sie die Sicherheit der Website verbessern, indem Sie den vollständigen Administratorzugriff nur dem Administrator gestatten.
Sie können allen anderen Benutzerrollen spezifische Funktionen zuweisen, die sie zur Ausübung ihrer Tätigkeit benötigen. Dies reduziert den Zugriff von Benutzern auf Ihre Datenbank und verhindert SQL-Injection-Angriffe.
Dies können Sie mit dem kostenlosen Plugin Remove Dashboard Access tun. Nach der Aktivierung besuchen Sie einfach die Seite Einstellungen » Dashboard-Zugriff, wo Sie entscheiden können, welche Benutzerrollen Zugriff auf das Dashboard erhalten.

Wenn Sie Benutzer basierend auf ihren Fähigkeiten einschränken möchten, sehen Sie sich unser Tutorial zum Hinzufügen oder Entfernen von Fähigkeiten von Benutzerrollen in WordPress an.
Ebenso können Sie die Autoren auf ihre eigenen Beiträge beschränken in Ihrem Admin-Bereich für mehr Sicherheit.
6. Benutzerdefinierte Datenbankfehler-Meldungen erstellen
Manchmal stoßen Ihre Benutzer auf einen Datenbankfehler auf Ihrer Website, der wichtige Informationen über Ihre Datenbank preisgeben und sie anfällig für SQL-Injection-Angriffe machen kann.
In diesem Fall empfehlen wir, eine benutzerdefinierte Datenbankfehlermeldung zu erstellen, die den Benutzern angezeigt wird, wenn sie auf diesen häufigen Fehler stoßen. Dazu müssen Sie den folgenden Inhalt in eine Textdatei kopieren und die Datei als „db-error.php“ speichern.
<?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>
Verbinden Sie anschließend Ihre Website mit einem FTP-Programm und laden Sie die gerade erstellte Datei in das Verzeichnis /wp-content/ Ihrer Website hoch.
Wenn Benutzer nun auf Ihrem Website einen Datenbankfehler feststellen, sehen sie eine Fehlermeldung, die sie über das Problem informiert, ohne sensible Informationen preiszugeben.

Außerdem wird der Titel „Datenbankfehler“ im Tab des Webbrowsers angezeigt.
Weitere Details finden Sie in unserem Tutorial zum Hinzufügen einer benutzerdefinierten Datenbankfehlerseite in WordPress.
7. Entfernen Sie unnötige Datenbankfunktionalität
Um SQL-Injection-Angriffe zu verhindern, sollten Sie auch versuchen, alle Datenbankfunktionen und Dateien zu entfernen, die Sie nicht auf Ihrer Website benötigen.
Sie können beispielsweise unnötige Tabellen, gelöschte oder nicht genehmigte Kommentare löschen, die Ihre Datenbank anfällig für Hacker machen können.
Um unnötige Datenbankfunktionen zu entfernen, empfehlen wir WP-Optimize. Es ist ein erstaunliches Plugin, das unnötige Tabellen, Beitragsrevisionen, Entwürfe, gelöschte Kommentare, gelöschte Beiträge, Pingbacks, Beitragsmetadaten und vieles mehr entfernt.

Es entfernt alle Dateien, die Sie nicht benötigen, und optimiert Ihre Datenbank, um sie sicherer und schneller zu machen. Details finden Sie in unserem Leitfaden für Anfänger zur Optimierung Ihrer WordPress-Datenbank.
Wir hoffen, dieser Artikel hat Ihnen geholfen zu lernen, wie Sie WordPress SQL-Injection-Angriffe verhindern können. Möglicherweise möchten Sie auch unseren Leitfaden für Anfänger lesen, wie Sie nach WordPress-Sicherheitsupdates suchen, oder unseren ultimativen Leitfaden zur WordPress-Sicherheit.
Wenn Ihnen dieser Artikel gefallen hat, abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.

Moinuddin Waheed
Das ist neu für mich, dass ich die WordPress-Version einfach ausblenden kann, was Hacker standardmäßig daran hindert, Schwachstellen anhand von WordPress-Versionen und deren Lücken zu erraten.
Großartige Tipps, um Websites vor SQL-Injection zu schützen.
Ich werde diese Tricks anwenden, um meine Website narrensicher gegen Sicherheitslücken zu machen.
Oyatogun Oluwaseun Samuel
Für mich ist das Verstecken der WordPress-Version neu. Jede Version von WordPress hat ihre eigenen Schwachstellen, daher werden Hacker, die die Versionsnummer verstecken, im Dunkeln tappen, welche WordPress-Version verwendet wird, ganz zu schweigen davon, verwandte Schwachstellen auszunutzen. Danke für den Hinweis. Ich denke auch, wenn Sie ein Plugin entwickeln, das Benutzereingaben sammelt, ist es ratsam, Benutzereingaben (nach normaler Validierung) zu bereinigen, die in die Datenbank eingefügt werden.
Jiří Vaněk
WordPress-Sicherheit ist für mich Alpha und Omega. Damit verbunden ist SQL, dem ich nie viel Aufmerksamkeit geschenkt habe. Danke für diese Liste großartiger Tipps. Ich werde meinen Blog sofort überprüfen, um zu sehen, was ich gemäß Ihrer Liste verbessern kann. Zumindest werde ich versuchen, die Version usw. zu verstecken.