← Alle Handbücher

Handbuch: CAPTCHAme für WordPress

WordPress 5.8 bis 7.0, PHP ab 7.4 · Version 1.5.2 · 26 KB

Schlüssel holen

Sie brauchen zwei Zeichenketten, beide kostenlos nach der Registrierung:

Sitekey
Öffentlich. Er steht im Quelltext jeder Seite mit Formular und darf dort stehen.
Secret
Geheim. Er verlässt Ihren Server nur bei der Prüfung und gehört nie in eine Seite, in ein Repository oder in eine E-Mail.

Konto anlegen Zum Dashboard

Welche Formulare geschützt werden

Unter Einstellungen → CAPTCHAme lässt sich jedes einzeln an- und abschalten:

  • Kommentare
  • Anmeldung, Registrierung, Passwort vergessen
  • Contact Form 7 – erscheint, sobald es installiert ist
  • WPForms – ebenso
  • YOOtheme Pro und andere Seitenbaukästen – eigener Schalter, siehe unten

Baukasten-Formulare (YOOtheme Pro)

YOOtheme Pro baut seine Formulare im Seitenbaukasten zusammen und bietet keinen vorgesehenen Platz für ein fremdes Captcha. CAPTCHAme setzt deshalb an zwei Stellen an, die WordPress selbst vorgibt: Das Widget wird per JavaScript in die Formulare gesetzt, und die Einsendung wird über pre_wp_mail angehalten, bevor die Mail hinausgeht.

Welche Formulare getroffen werden, entscheidet die CSS-Auswahl in den Einstellungen. Die Vorgabe trifft die üblichen YOOtheme-Formulare.

Zwei Betriebsarten

Nur eingesetzte Formulare (Vorgabe)
Erkennt ein Formular an einem versteckten Kennfeld. Ein Bot, der genau dieses Feld weglässt, kommt daran vorbei.
Jede Formular-Mail aus dem Frontend
Lässt keine Mail ohne gültiges Token durch. Lückenlos, kann aber andere Formular-Erweiterungen mit erfassen.

Ob der Schutz tatsächlich greift, steht in den Einstellungen unter Greift der Schutz? – bleibt die Angabe nach einem Testabsenden leer, passt die CSS-Auswahl nicht zu Ihrem Formular.

Eigene Formulare

Für Formulare, die das Plugin nicht kennt, gibt es einen Shortcode:

[captchame]

Und für Theme-Entwickler zwei Funktionen:

<?php captchame_field(); ?>

<?php
$pruefung = captchame_verify();
if ( is_wp_error( $pruefung ) ) {
    // $pruefung->get_error_message() anzeigen
}
?>

Notausgang

Sollten Sie sich je aus dem Backend aussperren, hilft eine Zeile in der wp-config.php, noch vor /* That's all */:

define( 'CAPTCHAME_DISABLE_LOGIN', true );

Das schaltet nur den Schutz der Anmeldung ab. CAPTCHAME_DISABLE schaltet das ganze Plugin still.

Zusätzlich prüft das Plugin von sich aus, ob sein Sitekey für diese Domain gilt. Ist die Einrichtung nachweislich kaputt, blockiert es die Anmeldung gar nicht erst – ein Captcha, das nicht funktionieren kann, schützt niemanden.

Abstand um das Widget

Jedes Formular bringt eigene Abstände mit. Klebt das Widget am Absenden-Knopf oder steht es zu weit vom letzten Feld entfernt, lässt sich das in den Einstellungen ausgleichen: Abstand oben und Abstand unten, in Pixeln.

20 Pixel passen zu den meisten Formularen. 0 in beiden Feldern setzt gar keine Regel und überlässt den Abstand vollständig Ihrem Theme.

Erlaubte Domains

Im Dashboard lässt sich je Projekt festlegen, auf welchen Domains der Sitekey gilt. Das ist ein Schutz gegen fremde Nutzung Ihrer Schlüssel – und die häufigste Ursache, wenn das Widget schweigt.

Achten Sie auf www.

Ist nur beispiel.de eingetragen, Ihre Seite aber auch unter www.beispiel.de erreichbar, bekommt das Widget dort keine Aufgabe und erscheint nicht. Tragen Sie beide ein:

beispiel.de, *.beispiel.de

Ein leeres Feld erlaubt jede Domain.

Woran Sie erkennen, dass es läuft

Im Dashboard zeigt jedes Projekt zwei Haken:

  1. Widget eingebaut – das Widget hat Aufgaben ausgeliefert.
  2. Prüfung im Backend – Token werden serverseitig geprüft. Erst jetzt ist der Schutz vollständig; vorher könnte ein Bot am Formular vorbei absenden.

Der zweite Haken erscheint erst, wenn nach dem Einbau tatsächlich einmal abgesendet wurde. Senden Sie Ihr Formular also einmal testweise ab.

Sie sehen das Widget selbst nicht?

In der Vorgabe bekommen angemeldete Benutzer kein Captcha – sie sind bereits identifiziert. Schauen Sie im privaten Fenster nach, oder schalten Sie die Ausnahme in den Einstellungen ab.

Ob Sitekey und Domain zusammenpassen, beantwortet auch diese Adresse direkt:

https://captchame.de/api/v1/sitecheck?sitekey=IHR_SITEKEY&hostname=ihre-domain.de

Wenn der Dienst ausfällt

In der Vorgabe wird ein Formular abgelehnt, wenn CAPTCHAme nicht erreichbar ist. Lieber ein Besucher, der es noch einmal versucht, als eine Nacht offener Spam.

Wer das anders gewichtet, stellt in den Einstellungen auf Bei Störung durchlassen um. Dann gehen Formulare bei einer Störung ungeprüft durch.