Joomla Rate Limiter Plugin Technischer Überblick
Zweck
Das Joomla Rate Limiter Plugin bietet einen einfachen, sitzungsbasierten Schutzmechanismus gegen Formularmissbrauch oder versehentliches schnelles Absenden. Es stellt sicher, dass Benutzer Formulare innerhalb eines definierten Zeitfensters nur eine begrenzte Anzahl von Malen absenden können.
Hauptfunktionen
- ✅ Sitzungsbasiertes Tracking: Protokolliert die Übermittlungen in der Benutzersitzung, kein Datenbankspeicher erforderlich.
- ✅ Anpassbare Limits: Konfigurieren Sie die zulässige Anzahl an Übermittlungen und das Zeitfenster ganz einfach über die Plugin-Einstellungen.
- ✅ Nur Frontend-Schutz: Gilt nur im Frontend der Website, wobei die Backend-Funktionalität unberührt bleibt.
- ✅ Formularspezifische Ratenbegrenzungen: Unterstützt mehrere Formulare durch optionale Übergabe einer Formular-ID zur unabhängigen Verfolgung von Einsendungen.
So funktioniert es
- Beim Absenden eines Formulars (POST-Anfrage) prüft das Joomla Rate Limiter-Plugin, wie oft dieses Formular von diesem Nutzer innerhalb des konfigurierten Zeitfensters abgeschickt wurde.
- Überschreitet die Anzahl der Absendungen das Limit, führt das Plugin Folgendes aus:
- Zeigt eine Warnmeldung an (Sie senden zu häufig...).
- Leitet den Nutzer zurück zur Startseite oder einer anderen definierten Seite.
- Wenn der Wert unter dem Grenzwert liegt, wird der aktuelle Übermittlungszeitstempel protokolliert und die Fortsetzung der Anfrage zugelassen.
Technischer Workflow
1️⃣ Initialization:
- Das Plugin wird geladen, wenn Joomla onAfterInitialise() ausführt.
2️⃣ Nur Frontend-Ausführung:
- Das Plugin überspringt die Ausführung, wenn es im Joomla-Administrator ausgeführt wird.
3️⃣ Konfiguration Parameter:
- Zeitfenster (Sekunden): z. B. 600 (10 Minuten).
- SubmissionLimit: z. B. 5 Einreichungen zulässig.
4️⃣ Einreichungsverfolgung:
- Einreichungszeitstempel werden in der PHP-Sitzung (pro Benutzer) gespeichert.
- Ältere Einreichungen außerhalb des Zeitfensters werden automatisch verworfen.
5️⃣ Ratenbegrenzung:
-
- Beim Absenden eines Formulars (POST-Anfrage) prüft das Plugin, wie oft dieses Formular von diesem Nutzer innerhalb des konfigurierten Zeitfensters abgeschickt wurde.
- Überschreitet die Anzahl der Absendungen das Limit, führt das Plugin Folgendes aus:
- Zeigt eine Warnmeldung an (Sie senden zu häufig...).
- Leitet den Nutzer zurück zur Startseite oder einer anderen definierten Seite.
- Wenn der Wert unter dem Limit liegt, wird der aktuelle Übermittlungszeitstempel protokolliert und die Anfrage kann fortgesetzt werden.Wenn die Anzahl der Einsendungen das zulässige Limit überschreitet, wird der Nutzer blockiert und umgeleitet.
Zweck
Das Plugin Joomla Rate Limiter bietet einen leichten, sitzungsbasierten Schutzmechanismus gegen Formularmissbrauch oder versehentliches schnelles Einreichen. Dadurch wird sichergestellt, dass Nutzer Formulare nur begrenzt oft innerhalb eines festgelegten Zeitfensters einreichen können.
Hauptfunktionen
- ✅ Sitzungsbasiertes Tracking: Protokolliert die Einreichungen in der Nutzersitzung, ohne dass Datenbankspeicherung erforderlich ist.
- ✅ Anpassbare Limits: Konfigurieren Sie die zulässige Anzahl an Einreichungen und das Zeitfenster ganz einfach über die Plugin-Einstellungen.
- ✅ Nur Frontend-Schutz: Gilt nur für das Frontend der Website, die Backend-Funktionalität bleibt unberührt.
- ✅ Formularspezifische Ratenbegrenzungen: Unterstützt mehrere Formulare durch optionale Übergabe einer Formular-ID zur unabhängigen Verfolgung von Einsendungen.
So funktioniert es