v1.2.0: Umbenennung, zweizeiliger Erfolgstext, Umlaute

This commit is contained in:
2026-09-21 20:25:28 +02:00
parent 1955516783
commit 56ea70a57e
+13 -13
View File
@@ -31,17 +31,17 @@ require_once __DIR__ . '/src/Handler/TemplateHandler.php';
require_once __DIR__ . '/src/Handler/ValidationHandler.php';
/**
* Bootstrap-Klasse fuer das Plugin fp_altcha_spamschutz.
* Bootstrap-Klasse für das Plugin fp_altcha_spamschutz.
*
* Setzt einen selbst gehosteten, quelloffenen Proof-of-Work-Spamschutz (ALTCHA, MIT-Lizenz) fuer
* Setzt einen selbst gehosteten, quelloffenen Proof-of-Work-Spamschutz (ALTCHA, MIT-Lizenz) für
* 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.
* verlassen den eigenen Server. Bewusst ohne Google reCAPTCHA und ohne Umleitung über Cloudflare
* oder ähnliche Dienste.
*
* 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-/
* getestete Ansätze konnten das dort verwendete Muster
* ("Test"/"Test User" in Vorname/Nachname/Ort/Straße, aber echte Drittanbieter-E-Mail-Adressen)
* strukturell nicht erkennen, weil deren Wortlisten-Prüfung nur auf Kommentar-/
* Nachrichtenfelder wirkt, die das Registrierungsformular gar nicht besitzt.
*/
class Bootstrap extends Bootstrapper
@@ -54,7 +54,7 @@ class Bootstrap extends Bootstrapper
return;
}
// Die komplette Einrichtung ist defensiv umschlossen: boot() laeuft bei JEDEM
// Die komplette Einrichtung ist defensiv umschlossen: boot() läuft bei JEDEM
// Frontend-Aufruf, noch bevor irgendeine Seite gerendert wird. Ein Fehler hier (z. B.
// weil das Plugin gerade erst installiert und noch nicht konfiguriert wurde) darf
// niemals den gesamten Shop lahmlegen.
@@ -66,27 +66,27 @@ class Bootstrap extends Bootstrapper
$templateHandler = new TemplateHandler($plugin, $altchaService);
$validationHandler = new ValidationHandler($altchaService);
// Frueheste moegliche Pruefung der Newsletter-Anmeldung: laeuft direkt hier, noch
// Früheste mögliche Prüfung der Newsletter-Anmeldung: läuft direkt hier, noch
// bevor JTL-Shop das $_POST verarbeitet. Siehe ValidationHandler::guardNewsletterSubmission().
$validationHandler->guardNewsletterSubmission();
// Dieselbe fruehe Pruefung fuer das Kontaktformular. Siehe
// Dieselbe frühe Prüfung für das Kontaktformular. Siehe
// ValidationHandler::guardContactSubmission().
$validationHandler->guardContactSubmission();
// Widget (Container + Skript) in Registrierungs- und Newsletter-Formular einfuegen.
// Widget (Container + Skript) in Registrierungs- und Newsletter-Formular einfügen.
$dispatcher->listen(
'shop.hook.' . \HOOK_SMARTY_OUTPUTFILTER,
[$templateHandler, 'generalTemplateIntegration']
);
// Registrierung: Plausibilitaetspruefung nach Formularabsendung.
// Registrierung: Plausibilitätsprüfung nach Formularabsendung.
$dispatcher->listen(
'shop.hook.' . \HOOK_REGISTRIEREN_PAGE_REGISTRIEREN_PLAUSI,
[$validationHandler, 'checkRegistrationPlausibility']
);
// Newsletter: zusaetzliche Absicherung kurz vor dem Speichern des Empfaengers.
// Newsletter: zusätzliche Absicherung kurz vor dem Speichern des Empfängers.
if (\defined('HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN')) {
$dispatcher->listen(
'shop.hook.' . \HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN,