Files
JTL-Shop-ALTCHA-Spamschutz/README.md
T

3.0 KiB

falk.plus ALTCHA Spam- und Botschutz

Selbst gehostetes, quelloffenes Spam- und Botschutz-Plugin (ALTCHA Proof-of-Work, MIT-Lizenz) für JTL-Shop 5 -- schützt Registrierung, Newsletter-Anmeldung und Kontaktformular, ohne Daten an Dritte weiterzugeben (kein Google reCAPTCHA, keine Umleitung über Cloudflare oder ähnliche Dienste).

Enthält

  • fp_altcha_spamschutz/ -- komplettes, installierbares JTL-Shop-5-Plugin (Plugin-ID fp_altcha_spamschutz)
    • Bootstrap.php -- Hook-Registrierung (EventDispatcher)
    • info.xml -- Plugin-Manifest / Einstellungen
    • src/Service/AltchaService.php -- Challenge-Erzeugung & Verifikation (ALTCHA V1)
    • src/Handler/TemplateHandler.php -- Widget-Einbindung ins Formular-HTML
    • src/Handler/ValidationHandler.php -- Prüfung bei Registrierung, Newsletter-Anmeldung und Kontaktformular
    • assets/fp-altcha.js -- client-seitiger Proof-of-Work-Löser

Die installierbare Plugin-ZIP enthält zusätzlich die unverändert vendorierte ALTCHA-PHP-Bibliothek (altcha-org/altcha-lib-php, MIT-Lizenz) unter src/Vendor/AltchaOrg/Altcha/V1/. Um Drittanbieter-Code hier nicht zu duplizieren, ist sie in diesem Repo nicht enthalten.

Hintergrund

Anlass war ein Bot-Problem bei einem Kunden: über Wochen liefen massenhaft Fake-Registrierungen und Newsletter-Anmeldungen mit immer demselben Muster auf ("Test"/"Test User" in Vorname/Nachname/Ort/Straße, aber echte, unterschiedliche Fremd-E-Mail-Adressen). Rate-Limiting und andere getestete Maßnahmen konnten das Problem nicht zuverlässig lösen, da deren Prüfungen an anderer Stelle ansetzen (z. B. an Kommentar-/Nachrichtenfeldern, die weder das Registrierungs- noch das Newsletter-Formular besitzen). Dieses Plugin prüft stattdessen direkt beim Absenden von Registrierung, Newsletter-Anmeldung und Kontaktformular selbst -- unabhängig davon, welche Felder das Formular sonst enthält.

Installation / Download

Die direkt installierbare Plugin-ZIP (inkl. der mitgelieferten ALTCHA-PHP-Bibliothek) gibt es aktuell auf diesen Wegen:

  1. Fertige ZIP unter Releases: zu jeder Version gibt es dort einen Eintrag; sobald eine ZIP-Datei als Anhang vorliegt, lässt sie sich ohne weitere Anpassung direkt im JTL-Shop-Backend unter Plugins → Plugin hochladen installieren.
  2. Quellcode-Download über "Code → Download ZIP": dieser Weg liefert den reinen Quellcode dieses Repos (ohne die ALTCHA-PHP-Bibliothek) und packt ihn zusätzlich in einen Ordner mit Repo- und Branch-Namen. Für die Installation muss danach der enthaltene Ordner fp_altcha_spamschutz neu, direkt als Wurzelverzeichnis, gezippt werden.

Ausführliche Installations-, Test- und Hintergrundinfos im Guide: jtl-shop:altcha-spamschutz:start

Feedback

Fragen, Bugs oder Verbesserungsvorschläge bitte als Issue in diesem Repo melden.