2 Commits
Author SHA1 Message Date
JensFalk 1e6fb0be5b README.md aktualisiert 2026-09-21 21:25:41 +02:00
JensFalk bc27582a0d LICENSE hinzugefügt 2026-09-21 21:23:11 +02:00
2 changed files with 19 additions and 28 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.
+1 -28
View File
@@ -1,32 +1,5 @@
# 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](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: ü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](https://vw.falk.plus/JensFalk/JTL-Shop-ALTCHA-Spamschutz/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](https://guide.falk.plus/doku.php?id=jtl-shop:altcha-spamschutz:start)
## Feedback
weiteres siehe im [Guide](https://guide.falk.plus/doku.php?id=jtl-shop:altcha-spamschutz:start)
Fragen, Bugs oder Verbesserungsvorschläge bitte als [Issue in diesem Repo](https://vw.falk.plus/JensFalk/JTL-Shop-ALTCHA-Spamschutz/issues) melden.