WordPress
Das Plugin EU-Captcha schützt die Formulare von WordPress und verbreiteter Formular-Plugins. Es übernimmt sowohl das Widget als auch die serverseitige Prüfung.
Einrichtung des Plugins in WordPress
Voraussetzungen
Die folgenden Voraussetzungen sind erfüllt:
| Voraussetzung | Wert |
|---|---|
| WordPress | ab Version 5.8, geprüft bis Version 6.9 |
| PHP | ab Version 7.4 |
| Zugang | Administrationsbereich von WordPress |
Geschützte Formulare
Das Plugin schützt die folgenden Formulare:
- Anmeldung von WordPress
- Registrierung von WordPress
- Kommentare von WordPress
- Contact Form 7
- Ninja Forms
- WooCommerce Checkout
- WPForms
- Elementor Pro Forms
- Gravity Forms
Bei Gravity Forms bindet das Plugin das Widget automatisch direkt vor der Schaltfläche zum Absenden jedes Formulars ein und prüft das Token serverseitig. Eine Einrichtung je Formular ist nicht nötig. Bei mehrseitigen Formularen erfolgt die Prüfung nur auf der letzten Seite.
Für Elementor Pro Forms fügen Sie dem Formular-Widget in Elementor ein Feld vom Typ EU Captcha hinzu. Das Feld übernimmt Sitekey, Secret und die Darstellung von der Einstellungsseite EU-Captcha.
Plugin einrichten
Um das Plugin einzurichten, gehen Sie wie folgt vor:
- ► Laden Sie den Ordner
eu-captchain das Verzeichnis/wp-content/plugins/Ihrer Installation.
Liste der Plugins mit dem Plugin EU-Captcha
- ► Aktivieren Sie das Plugin über das Menü Plugins.
- ↳ Die Einstellungsseite EU-Captcha steht zur Verfügung.
Einstellungsseite EU-Captcha
- ► Öffnen Sie die Einstellungsseite EU-Captcha.
- ► Klicken Sie auf die Schaltfläche Schnelleinrichtung. Alternativ tragen Sie den öffentlichen Sitekey und das Secret von Hand ein.
- ► Wählen Sie unter Geschützte Ziele die zu schützenden Formulare aus.
- ► Klicken Sie auf die Schaltfläche Änderungen speichern.
- ➔ Das Plugin bindet das Widget in die gewählten Formulare ein und prüft die Token serverseitig.
Einstellungsseite EU-Captcha nach dem Speichern
Weitere Einstellungen
Die folgenden Einstellungen stehen auf der Einstellungsseite EU-Captcha zur Verfügung:
| Einstellung | Wirkung |
|---|---|
| CDN-/Proxy-Header prüfen | Liest die tatsächliche IP-Adresse des Besuchers aus den Kopfzeilen HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR oder HTTP_X_REAL_IP, bevor REMOTE_ADDR verwendet wird. Aktivieren Sie die Option, wenn Ihre Website hinter einem CDN oder einem Lastverteiler steht. Solange die Einstellungen nicht gespeichert wurden, ist die Option aktiviert. |
| API-Version | Zeigt die verwendete Version der API an. Das Feld lässt sich nicht ändern. |
| Theme | Helle oder dunkle Darstellung des Widgets, Werte Light und Dark. Vorgabe ist Light. |
| Height (px) | Feste Höhe des Widgets in Pixeln, mindestens 48. Ohne Eintrag gilt die Vorgabe. |
| Width (px) | Feste Breite des Widgets in Pixeln, mindestens 1. Ohne Eintrag gilt die Vorgabe. |
Verhalten bei Störungen
In der Voreinstellung weist das Plugin eine Absendung zurück, wenn die API nicht erreichbar ist. Damit lässt sich der Schutz während einer Störung nicht umgehen.
Die Option Ausfallsicherung in den Einstellungen unter API-Einstellungen kehrt dieses Verhalten um: Übertragungsfehler wie Zeitüberschreitungen oder Namensauflösungsfehler gelten dann als bestandene Prüfung. Ungültige Antworten weist das Plugin weiterhin zurück.
Achtung
Mit aktivierter Option Ausfallsicherung bleibt Ihr Formular während einer Störung erreichbar, ist in dieser Zeit jedoch ungeschützt.
Eigene Formulare schützen
Das Plugin stellt die Funktion eu_captcha_verify() bereit. Andere Plugins und Themes prüfen damit ein Token mit den bereits hinterlegten Zugangsdaten.
Fügen Sie das Widget-Element in Ihr Formular ein:
Prüfen Sie das Token beim Absenden:
if ( function_exists( 'eu_captcha_verify' ) ) {
$token = sanitize_text_field( $_POST['eu-captcha-response'] );
$result = eu_captcha_verify( $token );
if ( ! $result ) {
wp_die( 'Captcha verification failed.' );
}
}
Die Funktion gibt true bei einer gültigen Prüfung zurück und false bei einem ungültigen Token, fehlenden Zugangsdaten, einer Antwort mit train: true oder einer ungültigen Antwort der API. Bei einem Übertragungsfehler gibt sie true zurück, wenn die Option Ausfallsicherung aktiviert ist, sonst false. Prüfen Sie stets zuerst mit function_exists(), damit Ihr Quelltext auch bei deaktiviertem Plugin funktioniert.
Das Skript verify.js bindet das Plugin selbst ein: auf allen Seiten des Frontends, sobald mindestens ein Formular unter Geschützte Ziele gewählt ist, und auf der Anmeldeseite, wenn WordPress-Anmeldung oder WordPress-Registrierung gewählt ist.


