WHMCS
Offizielles CaptchaLa-Addon-Modul für WHMCS. Fügt dem WHMCS-Kundenbereich CAPTCHA-Verifizierung hinzu — Anmeldung, Registrierung, Passwort-Zurücksetzung, Kontaktformular, Ticket-Einreichung und Warenkorb-Checkout — ohne dass Code geschrieben werden muss.
Anders als ein einfaches Site-Key-Widget ist jede Challenge durch einen serverseitig ausgestellten Einmal-Token abgesichert (Anti-Replay), und es werden keine Drittanbieter-Tracker geladen.
Was es abdeckt
Jede Oberfläche unten ist ein eigener Schalter in den Einstellungen des Moduls — aktivieren Sie ausschließlich diejenigen, die Sie schützen möchten.
- Anmeldung
- Registrierung
- Passwort-Zurücksetzung
- Kontaktformular
- Ticket-Einreichung
- Warenkorb-Checkout
Voraussetzungen
- WHMCS 8.x und 9.x (getestet gegen den Kundenbereich 8.3 und 9.0; funktioniert mit den Themes
sixundtwenty-one, mit oder ohne Friendly URLs) - PHP 8.0+ (WHMCS 9.0 selbst erfordert PHP 8.2+)
- Ein CaptchaLa-Konto — holen Sie sich Ihren App Key + App Secret unter
dash.captcha.la
Installation
1. Modul installieren
- Laden Sie das neueste
whmcs-x.y.z.zipaus den Releases herunter. - Entpacken Sie es in Ihr WHMCS-Stammverzeichnis. Dies fügt
modules/addons/captchala/hinzu. - Gehen Sie im WHMCS-Admin zu Setup → Addon Modules, suchen Sie CaptchaLa und klicken Sie auf Activate.
2. Konfigurieren
Klicken Sie auf Configure, dann:
- Fügen Sie Ihren App Key und Ihr App Secret ein.
- Wählen Sie einen Widget mode und ein Theme.
- Aktivieren Sie die Formulare, die geschützt werden sollen.
- Klicken Sie auf Save Changes.
Öffnen Sie die Seite CaptchaLa in der Admin-Seitenleiste, um einen Live-Verbindungstest gegen das Dashboard auszuführen.
TIP
Falls das Widget nach der Aktivierung nicht erscheint, speichern Sie die Moduleinstellungen einmal erneut — WHMCS registriert die hooks.php eines Moduls nur, wenn dieses (neu) aktiviert/gespeichert wird.
Konfiguration
Alle Einstellungen finden sich unter Setup → Addon Modules → CaptchaLa → Configure.
| Einstellung | Typ | Standard | Beschreibung |
|---|---|---|---|
| App Key | string | — | Öffentlicher Schlüssel aus dem CaptchaLa-Dashboard. Erforderlich. |
| App Secret | string | — | Server-Geheimnis, zum Ausstellen und Validieren von Tokens verwendet. Erforderlich; niemals an den Browser ausgegeben. |
| Widget mode | enum | popup | popup (Auslöserleiste → Vollbild-Challenge), float (Inline-Panel), embed (Inline-Checkbox), bind (unsichtbar, fängt das Absenden ab). |
| Theme | enum | default | Farb-Preset: default, dark, slate, emerald, amber, rose. |
| Language | string | auto | BCP-47-Code (z. B. en, zh, de) oder auto, um dem Browser zu folgen. |
| Protect login | bool | on | Wendet die Challenge auf die Anmeldung im Kundenbereich an. |
| Protect registration | bool | on | Wendet die Challenge auf die Registrierung neuer Konten an. |
| Protect password reset | bool | on | Wendet die Challenge auf das Formular zur Passwort-Zurücksetzung an. |
| Protect contact form | bool | off | Wendet die Challenge auf das Kontaktformular an. |
| Protect ticket submission | bool | off | Wendet die Challenge auf den finalen Schritt der Ticket-Einreichung an. |
| Protect cart checkout | bool | off | Wendet die Challenge auf den Warenkorb-Checkout an. |
| Skip for logged-in users | bool | on | Wendet keine Challenge auf Besucher an, die bereits eine Kundensitzung haben. |
| Failure message | string | — | Nachricht, die bei fehlgeschlagener Verifizierung angezeigt wird. |
Wie es funktioniert
Auf jeder geschützten Formularseite stellt das Modul einen frischen Server-Token (sct_) aus dem Dashboard aus, der auf die Aktion dieses Formulars beschränkt ist, und rendert das daran gebundene Widget. Nachdem der Besucher die Challenge gelöst hat, schreibt das SDK einen Einmal-Pass-Token (pt_) in das Formular. Beim Absenden validiert das Modul diesen pt_ serverseitig, bevor WHMCS das Formular verarbeitet; Replays und Aktions-Abweichungen werden abgewiesen.
Ist das Dashboard vorübergehend nicht erreichbar, schlägt das Modul offen fehl (lässt das Absenden durch), sodass Ihr Kundenbereich niemals durch einen vorgelagerten Aussetzer ausgesperrt wird.
FAQ
Ist das Modul kostenlos?
Ja. Das Modul ist kostenlos. Der kostenlose CaptchaLa-Tarif deckt 10.000 Verifizierungen pro Monat ab — kostenpflichtige Tarife greifen nur, wenn Sie mehr Volumen benötigen.
Funktioniert es sowohl auf WHMCS 8 als auch 9?
Ja — getestet auf dem Kundenbereich 8.3 und 9.0, mit den Themes six und twenty-one, mit oder ohne Friendly URLs.
Das Widget erscheint nicht.
Speichern Sie die Moduleinstellungen einmal erneut (Configure → Save Changes). WHMCS registriert die hooks.php nur, wenn das Modul (neu) aktiviert/gespeichert wird.
Quelle
- Modul-Repository:
github.com/Captcha-La/captchala-whmcs - Issues / Feature-Wünsche: gegen das obige Repository einreichen
- Verwandt: Web-SDK · PHP-Server-SDK · API-Referenz