Kontaktformular-Schutz hinzugefuegt (v1.1.0)

This commit is contained in:
2026-09-21 19:24:59 +02:00
parent 3c3a531525
commit 1f18b011c9
+12 -8
View File
@@ -34,15 +34,15 @@ require_once __DIR__ . '/src/Handler/ValidationHandler.php';
* Bootstrap-Klasse fuer das Plugin fp_altcha_spamschutz.
*
* Setzt einen selbst gehosteten, quelloffenen Proof-of-Work-Spamschutz (ALTCHA, MIT-Lizenz) fuer
* die Kundenregistrierung und die Newsletter-Anmeldung ein. Keine Daten verlassen den eigenen
* Server -- bewusst ohne Google reCAPTCHA oder aehnliche externe Dienste und ohne Umleitung
* des Datenverkehrs ueber Cloudflare oder vergleichbare Drittanbieter.
* die Kundenregistrierung, die Newsletter-Anmeldung und das Kontaktformular ein. Keine Daten
* verlassen den eigenen Server. Bewusst ohne Google reCAPTCHA und ohne Umleitung ueber Cloudflare
* oder aehnliche Dienste.
*
* Hintergrund/Anlass: ein Bot-Problem bei einem Kunden (massenhafte Fake-Registrierungen und
* Newsletter-Anmeldungen, u. a. "Test"/"Test User" in Vorname/Nachname/Ort/Strasse, aber echte
* Drittanbieter-E-Mail-Adressen). Andere getestete Ansaetze konnten das Muster nicht
* zuverlaessig erkennen; dieses Plugin prueft stattdessen direkt beim Absenden von
* Registrierung und Newsletter-Anmeldung selbst.
* Hintergrund/Anlass: ein Bot-Problem bei einem Kunden (Fake-Anmeldungen im Shop). Andere
* getestete Ansaetze konnten das dort verwendete Muster
* ("Test"/"Test User" in Vorname/Nachname/Ort/Strasse, aber echte Drittanbieter-E-Mail-Adressen)
* strukturell nicht erkennen, weil deren Wortlisten-Pruefung nur auf Kommentar-/
* Nachrichtenfelder wirkt, die das Registrierungsformular gar nicht besitzt.
*/
class Bootstrap extends Bootstrapper
{
@@ -70,6 +70,10 @@ class Bootstrap extends Bootstrapper
// bevor JTL-Shop das $_POST verarbeitet. Siehe ValidationHandler::guardNewsletterSubmission().
$validationHandler->guardNewsletterSubmission();
// Dieselbe fruehe Pruefung fuer das Kontaktformular. Siehe
// ValidationHandler::guardContactSubmission().
$validationHandler->guardContactSubmission();
// Widget (Container + Skript) in Registrierungs- und Newsletter-Formular einfuegen.
$dispatcher->listen(
'shop.hook.' . \HOOK_SMARTY_OUTPUTFILTER,