ALTCHA Spam-Schutz: Fehlerbehebung
Fehlerbehebung für den ALTCHA Spam-Schutz in OXID 7: Widget fehlt, Verifizierung schlägt fehl, Endpunkt antwortet 503/429/500, Rate Limit, Honeypot, Inhaltsvalidierung, Proxy und nicht geschützte Formulare.
ALTCHA Spam-Schutz: Fehlerbehebung
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Meldungen, die Besucher sehen
| Meldung (Deutsch) | Auslöser |
|---|---|
| Ihre Nachricht konnte nicht gesendet werden. Bitte versuchen Sie es später erneut. | Honeypot-Feld war ausgefüllt |
| Ihre Eingaben konnten nicht verarbeitet werden. Bitte überprüfen Sie Ihre Angaben. | Inhaltsvalidierung: mindestens zwei auffällige Felder |
| Verifizierung fehlgeschlagen. Bitte versuchen Sie es erneut. | ALTCHA-Lösung fehlt oder ist ungültig |
| Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut. | Challenge abgelaufen oder bereits verwendet |
| Zu viele Anfragen. Bitte warten Sie einen Moment. Bitte warten Sie N Sekunden. | Rate Limit des Formulars erreicht |
Widget wird nicht angezeigt
Symptom: Im Formular erscheint weder die Checkbox noch ein Honeypot-Feld.
- Prüfe in den Moduleinstellungen, ob "Spam-Schutz aktivieren" und "ALTCHA aktivieren" an sind.
- Leere den Cache:
vendor/bin/oe-console oe:cache:clear. - Prüfe, ob das Apex-Theme aktiv ist. Nur dafür liefert das Modul Templates, bei anderen Themes musst du das Widget selbst einbinden (siehe Storefront).
- Prüfe in der Modulverwaltung des Admins, ob das Modul aktiv ist.
Formular meldet "Verifizierung fehlgeschlagen"
Symptom: Jede Absendung wird abgelehnt, obwohl das Formular korrekt ausgefüllt ist.
- Öffne die Browser-Konsole. Wird
https://cdn.jsdelivr.net/npm/altcha@latest/dist/altcha.min.jsnicht geladen (Werbeblocker, Content-Security-Policy, Netzwerk), fehlt dem Formular die Lösung im Feldaltcha. - Rufe die Challenge-URL im Browser auf. Antwortet sie nicht mit Status 200, siehe den Abschnitt zum Challenge-Endpunkt weiter unten.
- Prüfe, ob der HMAC Geheimschlüssel seit dem Laden der Seite geändert wurde. Dann ist die Signatur der Challenge ungültig.
Meldung "Ein Fehler ist aufgetreten"
Symptom: Nach längerem Verweilen auf der Seite oder nach einem Doppelklick auf Absenden erscheint die allgemeine Fehlermeldung.
- Die Challenge ist älter als "Challenge-Gültigkeit (Sekunden)" (Standard 300) oder wurde schon einmal verwendet. Der Besucher lädt die Seite neu und sendet erneut ab.
- Die Serverzeit muss stimmen, denn das Alter wird aus dem Zeitstempel in der Challenge berechnet.
Challenge-Endpunkt antwortet mit 503, 429 oder 500
| Status | Ursache | Lösung |
|---|---|---|
| 503 | "Spam-Schutz aktivieren" oder "ALTCHA aktivieren" ist aus | Einstellung einschalten oder das Widget entfernen |
| 429 | Der Client hat das Limit des Endpunkts überschritten (Standard 30 in 60 Sekunden) | "Max. Challenges pro Minute" erhöhen oder warten. Das Zeitfenster steht im Header Retry-After |
| 500 | Interner Fehler, im Produktivmodus ohne Details | Prüfe "Maximale Zahl (Schwierigkeit)" (positive ganze Zahl) und die Datenbank. Im Entwicklungsmodus enthält die Antwort die Fehlermeldung |
Rate Limit trifft zu viele Besucher
Symptom: Besucher erhalten "Zu viele Anfragen", obwohl sie nur einmal abgesendet haben.
- Prüfe, ob dein Shop hinter einem Reverse-Proxy oder CDN steht, der den Header
X-Forwarded-Fornicht setzt. Dann sehen alle Besucher dieselbe Adresse und teilen sich einen Zähler. - Erhöhe "Maximale Anfragen" oder verkürze das "Zeitfenster (Minuten)".
Das Modul vertraut dem ersten Eintrag von
X-Forwarded-Forohne Prüfung. Ohne einen Proxy, der den Header überschreibt, kann ein Angreifer das Rate Limiting mit wechselnden Werten umgehen.
Honeypot löst bei echten Besuchern aus
Symptom: Echte Besucher erhalten "Ihre Nachricht konnte nicht gesendet werden".
Browser-Autofill oder Passwortmanager können das versteckte Feld befüllen. Ändere "Honeypot Feldname" auf einen Namen, den Autofill nicht erkennt.
Inhaltsvalidierung blockiert legitime Eingaben
Symptom: Die Meldung "Ihre Eingaben konnten nicht verarbeitet werden" erscheint bei echten Kunden.
- Es müssen mindestens zwei Felder auffällig sein (Vorname, Nachname, E-Mail, bei der Registrierung auch Straße und Ort). Prüfe die Regeln auf der Seite Konfiguration.
- Schalte "Inhaltsvalidierung aktivieren" aus, wenn sich die Fehlalarme nicht anders vermeiden lassen. Eine Ausnahmeliste gibt es nicht.
Wegwerf-E-Mail wird nicht blockiert
- Eine Wegwerf-Adresse allein genügt nicht für eine Ablehnung, es muss mindestens ein weiteres Feld auffällig sein.
- Die Domain muss exakt in der eingebauten Liste von 56 Domains stehen. Subdomains und andere Anbieter werden nicht erkannt.
- Die Liste lässt sich nicht im Admin erweitern.
Registrierung im Bestellvorgang ist nicht geschützt
Das Modul prüft die Registrierung nur auf der Seite cl=register. Das Formular im Bestellvorgang (cl=user) und weitere Formulare wie Login oder Passwort-Reset laufen ohne Prüfung.
Tabellen werden immer größer
Das Modul räumt seine Tabellen nicht selbst auf. Die Anleitung dazu steht auf der Seite Datenschutz.
Modul lädt nach der Installation nicht
vendor/bin/oe-console oe:module:deactivate mmd_altcha
vendor/bin/oe-console oe:cache:clear
vendor/bin/oe-console oe:module:activate mmd_altcha
Fehlen die beiden Tabellen, deaktiviere und aktiviere das Modul erneut. Die Aktivierung legt sie an, wenn sie nicht vorhanden sind.