CAPTCHA-Schutz gegen Bot-Angriffe

Der CAPTCHA-Mechanismus im OXID eShop schützt Formularbereiche vor automatisierten Bot-Angriffen.

Die Funktion ist in zentralen Formularen verfügbar und umfasst zwei verschiedene CAPTCHA-Typen.

Hintergrund

Automatisierte Anfragen können zu Spam, Sicherheitslücken oder Systemlast führen.

Die CAPTCHA-Mechanismen verhindern automatisierte Eingaben entweder durch aktive Benutzerinteraktion oder durch unsichtbare Prüfverfahren (z. B. Honeypot).

Verfügbare CAPTCHA-Typen

Image CAPTCHA

Benutzer müssen den angezeigten Text aus einem Bild korrekt eingeben.

Zur Unterstützung stehen ein Neu laden-Schaltfläche sowie eine Audio-Wiedergabe zur Barrierefreiheit zur Verfügung (Abb.: Bild-basierte CAPTCHA-Prüfung mit Audio-Wiedergabe und Reload).

Bild-basierte CAPTCHA-Prüfung mit Audio-Wiedergabe und Reload

Abb.: Bild-basierte CAPTCHA-Prüfung mit Audio-Wiedergabe und Reload

Honeypot CAPTCHA

Ein unsichtbares Feld identifiziert automatisierte Bots, ohne das Nutzererlebnis zu beeinträchtigen (Abb.: Honeypot-CAPTCHA untersuchen, Pos. 1).

Für menschliche Benutzer ist dieses CAPTCHA nicht sichtbar.

Einsatzbereiche

Die CAPTCHA-Prüfung ist in folgenden Formularen integriert:

  • Registrierung

  • Login

  • Newsletter-Anmeldung und -Abmeldung

  • Kontaktformular

CAPTCHA-Prüfung konfigurieren

Aktivieren Sie die Captcha-Prüfung.

Sie haben folgende Möglichkeiten:

  • Empfehlung: Aktivieren Sie die bildbasierte CAPTCHA-Prüfung (Abb.: Beispiel: bildbasierte CAPTCHA-Prüfung im Kontaktformular), wenn Sie ein hohes Maß an Sicherheit gegen automatisierte Einsendungen benötigen. Diese Methode ist besonders robust und eignet sich für sicherheitskritische Formulare wie die Registrierung oder die Newsletter-Anmeldung.

  • Alternativ: Aktivieren Sie die Honeypot-CAPTCHA-Funktion, wenn Sie Bots unauffällig erkennen möchten, ohne die Benutzerfreundlichkeit durch ein sichtbares Captcha zu beeinträchtigen.

    In diesem Fall wird dem Formular ein unsichtbares Eingabefeld hinzugefügt (Abb.: Honeypot-CAPTCHA untersuchen, Pos. 1). Automatisierte Skripte, die Formulare vollständig ausfüllen, tragen in der Regel auch in dieses Feld Daten ein. Die Übermittlung wird daraufhin blockiert.

  • Um die Wahrscheinlichkeit eines Bot-Bypasses durch eine doppelte Schutzschicht zu verringern, aktivieren Sie das Honeypot-CAPTCHA zusätzlich zur bildbasierten CAPTCHA-Prüfung.

    Das Honeypot-CAPTCHA kann verdächtiges Verhalten stillschweigend erkennen, selbst wenn das Bild-CAPTCHA korrekt gelöst wurde.

Vorgehen

  1. Wählen Sie unter Erweiterungen ‣ Module das Modul.

  2. Wählen Sie die Registerkarte Einstell..

  3. Wählen Sie Captcha-Einstellungen.

    Captcha-Prüfung konfigurieren

    Abb.: Captcha-Prüfung konfigurieren

  4. Sie haben folgende Möglichkeiten:

    • Aktivieren Sie die bildbasierte CAPTCHA-Prüfung:

      1. Markieren Sie das Kontrollkästchen CAPTCHA-Security aktivieren.

      2. Optional: Legen Sie unter CAPTCHA-Lebensdauer fest, wie lange ein Captcha-Bild gültig bleibt.

        Standardwerte: 15 Minuten.

        Wenn das Captcha abläuft, wird das Übermitteln des Formulars abgelehnt.

        Empfehlung: Wählen Sie abhängig vom Formulartyp, der erwarteten Ausfüllzeit und dem Sicherheitsbedarf:

        • Kurze Lebensdauer (5 Min): Sinnvoll bei sehr sicherheitskritischen Formularen (z. B. Registrierung), um Replay-Attacken zu erschweren.

          Nachteilig, wenn Nutzer z. B. viel Zeit zum Ausfüllen brauchen (Barrierefreiheit, ältere Zielgruppe).

        • Längere Lebensdauer (30 Min): Besser bei Formularen mit längerer Bearbeitungsdauer (z. B. Kontaktformular mit Freitext).

          Geringerer Support-Aufwand, weil weniger Fehlversuche.

    • Aktivieren Sie den unsichtbaren Bot-Schutz ohne Benutzereingriff:

      1. Markieren Sie das Kontrollkästchen HoneyPot Captcha aktivieren.

      2. Testen Sie die Funktion Honey Pot Captcha sorgfältig, wenn Ihr OXID eShop Barrierefreiheit strikt umsetzen muss.

        Hintergrund: Obwohl ein Honeypot meist unproblematisch ist, kann fehlerhaftes Markup dazu führen, dass das unsichtbare Feld nicht richtig verborgen bleibt.

        Dies kann beispielsweise auftreten, wenn CSS-Anweisungen falsch gesetzt sind, was zu einer versehentlichen Sichtbarkeit des Feldes oder zu Problemen mit Screenreadern führen kann.

  5. Speichern Sie Ihre Einstellungen.

Resultat

  • Die bildbasierte CAPTCHA-Prüfung (Abb.: Beispiel: bildbasierte CAPTCHA-Prüfung im Kontaktformular) verhindert zuverlässig automatisierte Einsendungen in sicherheitskritischen Formularen.

    Automatisierte Eingaben durch Bots werden blockiert; für Benutzer bleibt das Formular zugänglich und barrierefrei benutzbar.

    Beispiel: bildbasierte CAPTCHA-Prüfung im Kontaktformular

    Abb.: Beispiel: bildbasierte CAPTCHA-Prüfung im Kontaktformular

  • Wenn das Honeypot-CAPTCHA aktiviert ist, wird ein unsichtbares Feld eingefügt. Füllt ein automatisiertes Skript das Feld aus, wird die Übermittlung des Formulars blockiert.

    Im Kontaktformular finden Sie zum Beispiel ein unsichtbares Feld mit dem Namen lastname_confirm (Abb.: Honeypot-CAPTCHA untersuchen, Pos. 1):

    <input type="text" name="lastname_confirm" class="d-none" value="" tabindex="-1" autocapitalize="off" spellcheck="false" autocorrect="off" autocomplete="off" />
    

    Optional: Um die Funktion zu testen, gehen Sie wie folgt vor:

    1. Untersuchen Sie den HTML-Quellcode des Formulars und suchen Sie nach einem versteckten Eingabefeld, das nicht ausgefüllt werden sollte (class="d-none").

    2. Füllen Sie das Feld im Browser aus, indem Sie entweder das class="d-none"-Attribut entfernen oder den Eingabewert direkt im HTML setzen (z. B. value="Doe").

    3. Senden Sie das Formular ab und prüfen Sie, ob es abgelehnt wird und eine Fehlermeldung erscheint.

    Honeypot-CAPTCHA untersuchen

    Abb.: Honeypot-CAPTCHA untersuchen