5 Commits
3 changed files with 23 additions and 27 deletions
+18
View File
@@ -0,0 +1,18 @@
MIT License
Copyright (c) 2026 JensFalk
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
+3 -25
View File
@@ -1,27 +1,5 @@
# JTL-Shop ALTCHA Spamschutz
# falk_plus ALTCHA Spam- und Botschutz
Selbst gehostetes, quelloffenes Spamschutz-Plugin (ALTCHA Proof-of-Work, MIT-Lizenz) fuer JTL-Shop 5 -- schuetzt Registrierung und Newsletter-Anmeldung, ohne Daten an Dritte weiterzugeben. Bewusst ohne Google reCAPTCHA oder aehnliche externe Dienste und ohne Umleitung des Datenverkehrs ueber Cloudflare oder vergleichbare Drittanbieter -- die Pruefung laeuft vollstaendig auf dem eigenen Server.
weiteres siehe im [Guide](https://guide.falk.plus/doku.php?id=jtl-shop:altcha-spamschutz:start)
## Enthaelt
- `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` -- Pruefung bei Registrierung & Newsletter-Anmeldung
- `assets/fp-altcha.js` -- client-seitiger Proof-of-Work-Loeser
Die per Chat gelieferte, installierbare Plugin-ZIP enthaelt zusaetzlich die unveraendert vendorierte ALTCHA-PHP-Bibliothek ([altcha-org/altcha-lib-php](https://github.com/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: Ueber Wochen liefen massenhaft Fake-Registrierungen und Newsletter-Anmeldungen mit immer demselben Muster auf ("Test"/"Test User" in Vorname/Nachname/Ort/Strasse, aber echte, unterschiedliche Fremd-E-Mail-Adressen). Rate-Limiting und andere getestete Plugins konnten das Problem nicht zuverlaessig loesen, da deren Pruefungen an anderer Stelle ansetzen (z. B. an Kommentar-/Nachrichtenfeldern, die weder das Registrierungs- noch das Newsletter-Formular besitzen). Dieses Plugin prueft stattdessen direkt beim Absenden von Registrierung und Newsletter-Anmeldung selbst -- unabhaengig davon, welche Felder das Formular sonst enthaelt -- und kann bestehende Loesungen vollstaendig ersetzen.
## Dokumentation
Ausfuehrliche Installations-, Test- und Hintergrundinfos im Guide: [jtl-shop:altcha-spamschutz:start](https://guide.falk.plus/doku.php?id=jtl-shop:altcha-spamschutz:start)
## Feedback
Fragen, Bugs oder Verbesserungsvorschlaege bitte als [Issue in diesem Repo](https://vw.falk.plus/JensFalk/JTL-Shop-ALTCHA-Spamschutz/issues) melden.
Fragen, Bugs oder Verbesserungsvorschläge bitte als [Issue in diesem Repo](https://vw.falk.plus/JensFalk/JTL-Shop-ALTCHA-Spamschutz/issues) melden.
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<jtlshopplugin>
<Name>falk.plus ALTCHA Spam- und Botschutz</Name>
<Name>falk_plus ALTCHA Spam- und Botschutz</Name>
<Description>Selbst gehosteter, quelloffener Spam- und Botschutz auf Basis des ALTCHA Proof-of-Work-Verfahrens (MIT-Lizenz). Schützt Registrierung, Newsletter-Anmeldung und Kontaktformular vor Spam-Bots und automatisierten Fake-Anmeldungen, ohne Datenweitergabe an Dritte -- bewusst ohne Google reCAPTCHA und ohne Umleitung über Cloudflare oder ähnliche Dienste. Für beliebige JTL-Shop-5-Installationen geeignet.</Description>
<Author>falk.plus</Author>
<URL>https://falk.plus</URL>
@@ -8,7 +8,7 @@
<XMLVersion>101</XMLVersion>
<MinShopVersion>5.2.0</MinShopVersion>
<CreateDate>2026-09-21</CreateDate>
<Version>1.2.0</Version>
<Version>1.2.1</Version>
<Install>
<FlushTags>CACHING_GROUP_TEMPLATE</FlushTags>
<!-- Hooks werden nicht über XML, sondern modern per EventDispatcher in Bootstrap.php registriert. -->