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 Kontoberechtigungen ändern und DDoS-Angriffe durchführen, was es tatsächlichen Benutzern erschwert, Ihre Website zu besuchen.
Dies kann das Kundenvertrauen schädigen, die Benutzererfahrung negativ beeinträchtigen 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 vornehmen, um vorbeugende Maßnahmen zu ergreifen, empfehlen wir, eine Sicherung davon zu erstellen. Auf diese Weise können Sie die Sicherung verwenden, um alles zu beheben, falls etwas schief geht. Details finden Sie in unserem Tutorial zur manuellen Erstellung eines WordPress-Datenbank-Backups.
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 Ihnen, automatische Updates für die neueste Version zu aktivieren, 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.

Für weitere Informationen können Sie sich unseren Leitfaden für Anfänger ansehen: So aktualisieren Sie WordPress sicher.
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 führen, empfehlen wir Sucuri, eine der besten Firewall-Softwareoptionen für WordPress 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 eigene Erfahrungen mit dem Tool gemacht. Es hat uns sogar geholfen, 450.000 WordPress-Angriffe auf unserer Website in der Vergangenheit zu blockieren.
Dennoch ist Sucuri für größere Websites mit hohem Traffic möglicherweise nicht leistungsfähig genug. In diesem Fall könnten 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 Software an, die Sie auf Ihrer Website verwenden. 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 Ihrer Website leicht 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 Code-Snippet-Plugin, 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.
Dies können Sie ganz einfach tun, indem Sie sich mit FTP mit Ihrer Website verbinden. Öffnen Sie anschließend die Datei wp-config.php und suchen Sie die Zeile zum Ändern von $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 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 Anweisungen können Sie unser Tutorial unter Ändern des WordPress-Datenbankpräfixes zur Verbesserung der Sicherheit einsehen.
4. Benutzerdaten validieren
Hacker injizieren normalerweise SQL-Angriffe auf Ihre Website über Felder zur Eingabe von Benutzerdaten, 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 einzureichen.
Sie können ein bestimmtes Format für Telefonnummern oder einzelne Textfelder hinzufügen.

Wenn Sie Ihre Formularfelder nicht validieren möchten, dann empfehlen wir WPForms, da es das beste Kontaktformular-Plugin ist, das vollständigen Spam-Schutz und Google reCAPTCHA-Unterstützung bietet.
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 zum Erstellen eines sicheren Kontaktformulars in WordPress unter Erstellen 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.
Zum Beispiel, wenn Sie einen Blog mit mehreren Autoren haben, dann haben Sie verschiedene Autoren sowie Abonnenten und Administratoren. In diesem Fall können Sie die Sicherheit der Website verbessern, indem Sie den vollen 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 je nach ihren Fähigkeiten einschränken möchten, dann sehen Sie sich unser Tutorial an, wie Sie Berechtigungen zu Benutzerrollen in WordPress hinzufügen oder entfernen.
Ebenso können Sie zur Erhöhung der Sicherheit auch Autoren auf ihre eigenen Beiträge in Ihrem Admin-Bereich beschränken.
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 Datenbankfehler-Nachricht 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 Textverarbeitung 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 danach Ihre Website über ein 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 Anfängerleitfaden unter So optimieren Sie Ihre 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 zum Überprüfen von WordPress-Sicherheitsupdates oder unseren Leitfaden für Anfänger zum Überprüfen von WordPress-Sicherheitsupdates oder unseren ultimativen Leitfaden zur WordPress-Sicherheit lesen.
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.