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).
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
Wählen Sie unter das Modul.
Wählen Sie die Registerkarte Einstell..
Wählen Sie Captcha-Einstellungen.
Abb.: Captcha-Prüfung konfigurieren
Sie haben folgende Möglichkeiten:
Aktivieren Sie die bildbasierte CAPTCHA-Prüfung:
Markieren Sie das Kontrollkästchen CAPTCHA-Security aktivieren.
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:
Markieren Sie das Kontrollkästchen HoneyPot Captcha aktivieren.
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.
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.
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:
Untersuchen Sie den HTML-Quellcode des Formulars und suchen Sie nach einem versteckten Eingabefeld, das nicht ausgefüllt werden sollte (
class="d-none").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").Senden Sie das Formular ab und prüfen Sie, ob es abgelehnt wird und eine Fehlermeldung erscheint.
Abb.: Honeypot-CAPTCHA untersuchen