Markus Michalski FAQ

ALTCHA Spam-Schutz: Konfiguration

Einstellungen des ALTCHA Spam-Schutz Moduls für OXID 7: Challenge, Honeypot, Rate Limiting, Challenge-Endpunkt und Inhaltsvalidierung mit den echten Admin-Bezeichnungen, Standardwerten und Prüfregeln.

English Version

Zurück zur Übersicht

ALTCHA Spam-Schutz: Konfiguration

Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net

Die Einstellungen stehen in den Moduleinstellungen des Moduls "ALTCHA Spam-Schutz" im OXID Admin. Die Überschriften unten entsprechen den Gruppen, die der Admin in deutscher Sprache anzeigt, und die Bezeichnungen den Feldern.

Allgemeine Einstellungen

Einstellung Schlüssel Standard Wirkung
Spam-Schutz aktivieren mmd_altcha_enabled An Hauptschalter. Aus: keine Prüfung, kein Widget, der Challenge-Endpunkt antwortet mit 503
Inhaltsvalidierung aktivieren mmd_altcha_content_validation_enabled An Prüft Formularinhalte auf Gibberish und Wegwerf-E-Mail-Domains (siehe unten)

ALTCHA Proof-of-Work

Einstellung Schlüssel Standard Wirkung
ALTCHA aktivieren mmd_altcha_pow_enabled An Zeigt das Widget und verlangt eine gültige Lösung. Aus: Honeypot, Inhaltsvalidierung und Rate Limiting laufen weiter
Maximale Zahl (Schwierigkeit) mmd_altcha_max_number 50000 Obergrenze der geheimen Zahl. Je höher, desto mehr Rechenarbeit im Browser
Challenge-Gültigkeit (Sekunden) mmd_altcha_expiry_seconds 300 Wie lange eine Challenge gültig ist. Bestimmt auch den Wert expires_at des Eintrags in mmd_altcha_used_challenges
HMAC Geheimschlüssel mmd_altcha_hmac_secret leer Signiert die Challenges und schlüsselt die IP-Hashes. Bleibt das Feld leer, erzeugt das Modul beim ersten Zugriff 32 Zufallsbytes (Base64) und speichert sie

"Maximale Zahl" und die Zeitwerte erwarten positive ganze Zahlen. Ein Text oder 0 als "Maximale Zahl" führt dazu, dass der Challenge-Endpunkt mit Status 500 antwortet.

Ändert sich der HMAC Geheimschlüssel, werden bereits ausgegebene Challenges ungültig, und alle gespeicherten IP-Hashes passen nicht mehr zu den neuen. Das Rate Limiting beginnt dann praktisch von vorn.

Honeypot

Einstellung Schlüssel Standard Wirkung
Honeypot aktivieren mmd_altcha_honeypot_enabled An Fügt ein verstecktes Feld ein. Ein ausgefülltes Feld lehnt die Absendung ab
Honeypot Feldname mmd_altcha_honeypot_field website Name (und ID) des versteckten Felds

Browser-Autofill oder Passwortmanager können versteckte Felder befüllen, obwohl ein echter Besucher das Formular absendet. Tritt das bei dir auf, wähle einen Feldnamen, den Autofill nicht erkennt.

Rate Limiting

In dieser Gruppe stehen die Einstellungen für die Formulare und die für den Challenge-Endpunkt.

Formulare

Einstellung Schlüssel Standard Wirkung
Rate Limiting aktivieren mmd_altcha_ratelimit_enabled An Begrenzt Absendungen pro Client-Adresse und Formular
Maximale Anfragen mmd_altcha_ratelimit_max_requests 5 Erlaubte Absendungen im Zeitfenster
Zeitfenster (Minuten) mmd_altcha_ratelimit_window_minutes 60 Länge des Zeitfensters in Minuten

Das Limit gilt getrennt für Kontaktformular, Newsletter und Registrierung. Gezählt werden Absendungen, die Honeypot, Inhaltsvalidierung und ALTCHA bestanden haben, unabhängig davon, ob OXID die Absendung danach annimmt. Wird das Limit erreicht, sieht der Besucher die Meldung "Zu viele Anfragen. Bitte warten Sie einen Moment." gefolgt von "Bitte warten Sie N Sekunden.", wobei N das ganze Zeitfenster in Sekunden ist.

Challenge-Endpunkt

Einstellung Schlüssel Standard Wirkung
Challenge-Endpoint Rate Limit mmd_altcha_challenge_ratelimit_enabled An Begrenzt Abrufe des Challenge-Endpunkts (DoS-Schutz)
Max. Challenges pro Minute mmd_altcha_challenge_ratelimit_max 30 Erlaubte Abrufe pro Client-Adresse im Zeitfenster
Challenge-Zeitfenster (Sekunden) mmd_altcha_challenge_ratelimit_window 60 Länge des Zeitfensters in Sekunden, intern auf volle Minuten aufgerundet

Die Bezeichnung "Max. Challenges pro Minute" gilt nur beim Standard-Zeitfenster von 60 Sekunden. Tatsächlich bestimmt das Zeitfenster darunter, worauf sich die Anzahl bezieht.

Protokollierung

Der Admin zeigt in der Gruppe "Protokollierung" die Option "Spam-Versuche protokollieren" (mmd_altcha_log_spam_attempts). Die Option hat im Code keine Wirkung: Das Modul protokolliert keine blockierten Versuche, egal wie sie eingestellt ist.

Inhaltsvalidierung im Detail

Die Inhaltsvalidierung läuft nur, wenn das Formular auswertbare Felder liefert. Sie zählt auffällige Felder und lehnt erst ab, wenn mindestens zwei Felder auffällig sind.

Eine Wegwerf-E-Mail-Adresse allein löst keine Ablehnung aus. Sie zählt als ein auffälliges Feld und führt nur zusammen mit mindestens einem weiteren auffälligen Feld (zum Beispiel Gibberish im Namen) zur Ablehnung. Bei der Newsletter-Anmeldung mit nur einer E-Mail-Adresse kann die Inhaltsvalidierung deshalb nie ablehnen.

Geprüfte Felder

Formular E-Mail Gibberish-Prüfung
Kontakt, Newsletter E-Mail-Adresse Vorname, Nachname
Registrierung E-Mail-Adresse (lgn_usr) Vorname, Nachname, Straße, Ort

Felder mit weniger als 4 Zeichen werden übersprungen, von längeren Eingaben werden nur die ersten 200 Zeichen geprüft.

Gibberish-Erkennung

Ein Feld gilt als Gibberish, sobald eine der folgenden Regeln zutrifft:

Regel Schwellenwert
Konsonanten-Anteil an den Buchstaben (a-z, ä, ö, ü) Über 75 Prozent, bei höchstens 7 Buchstaben über 90 Prozent. Als Vokale zählen a, e, i, o, u, y, ä, ö, ü
Tastatur-Sequenzen asdf, sdfg, dfgh, fghj, ghjk, hjkl, zxcv, xcvb, cvbn, vbnm, qwert, werty, ertyu, rtyui, tyuio, yuiop, qwertz, wertz
Wiederholte Zeichen 3 oder mehr gleiche Zeichen in Folge
Aufeinanderfolgende Konsonanten 6 oder mehr Konsonanten in Folge (y zählt nicht als Konsonant)
Konsonanten-Cluster 2 oder mehr Gruppen mit je 4 oder mehr Konsonanten
Bigramme Bei mindestens 5 Buchstaben sind weniger als 30 Prozent der Buchstabenpaare in der Liste von 211 bekannten Paaren

Wegwerf-E-Mail-Domains

Die Domain der E-Mail-Adresse wird (in Kleinbuchstaben) exakt mit einer fest eingebauten Liste von 56 Domains verglichen. Subdomains werden nicht erkannt, und die Liste lässt sich nicht über den Admin erweitern.

guerrillamail.com, guerrillamail.de, guerrillamailblock.com, guerrillamail.info, guerrillamail.biz, guerrillamail.net, guerrillamail.org, grr.la, sharklasers.com, mailinator.com, mailinator.net, mailinater.com, tempmail.com, temp-mail.org, temp-mail.de, throwaway.email, throwaway.com, yopmail.com, yopmail.fr, dispostable.com, discard.email, mailnesia.com, maildrop.cc, fakeinbox.com, mailcatch.com, trashmail.com, trashmail.me, trashmail.net, trash-mail.com, tempail.com, tempr.email, tempmailo.com, tempomail.fr, tempinbox.com, tempmailaddress.com, mohmal.com, burner.kiwi, minutemail.com, emailondeck.com, getnada.com, mailsac.com, harakirimail.com, tmail.ws, emailfake.com, crazymailing.com, mailtemp.net, incognitomail.org, spamgourmet.com, mytemp.email, mailnull.com, spamcero.com, jetable.org, mailtothis.com, mailexpire.com, emailisvalid.com, trashymail.com

Praxis-Beispiele

Shop hinter einem Firmennetz mit vielen gleichzeitigen Käufern: Viele Besucher teilen sich dieselbe Adresse. Erhöhe "Maximale Anfragen" auf 20 und lass das "Zeitfenster (Minuten)" bei 60.

Strengeres Limit für Kontaktformular-Spam: Setze "Maximale Anfragen" auf 3 und "Zeitfenster (Minuten)" auf 120, dann sind pro Adresse höchstens 3 Absendungen je Formular in zwei Stunden möglich.

Falsch-Positive durch die Inhaltsvalidierung eingrenzen: Schalte nur "Inhaltsvalidierung aktivieren" aus. ALTCHA, Honeypot und Rate Limiting bleiben aktiv.