In diesem Artikel erklären wir, wie Dein System vor Flooding geschützt werden kann. Flooding wird dadurch verursacht, dass eine hohe Anzahl von Anfragen an den Server gesendet wird, so dass der Server Schwierigkeiten hat, die Last zu bewältigen. Das System schränkt diese Anfragen nun nach den folgenden Regeln ein.
Registrierte Kunden, Gastbenutzer und Admin User können bis zu 10 Mal versuchen, sich anzumelden, bevor sie vom System verzögert werden.
Nach einem erfolgreichen Login oder nach 24 Stunden ohne fehlgeschlagenen Login wird das Limit zurückgesetzt.
Der Kunde kann 3 Kontaktformulare hintereinander abschicken, bevor er vom System verzögert wird.
Nach 24 Stunden wird das Limit zurückgesetzt.
Registrierte Kunden, Gastbenutzer und Admin User haben 3 Versuche, ihr Passwort zurückzusetzen, bevor sie vom System verzögert werden.
Nach 24 Stunden wird das Limit zurückgesetzt.
Im Admin gibt es keine Konfiguration, um Änderungen vorzunehmen, muss man die folgende Core Datei /framework/resources/config/packages/shopware.yaml in das Stammverzeichnis des Shops unter config/packages/shopware.yaml kopieren, nun kann man die Datei bearbeiten, um eine Funktion zu aktivieren/deaktivieren.
reset_password: Passwort wiederherstellen in der Storefront.
Du kannst eine Funktion deaktivieren, indem Du die entsprechende Zeile von enabled: true auf enabled: false änderst.
Du findest die Konfiguration in der shopware.yaml, so sieht sie aus:
Nach der Anpassung muss in der Konsole php bin/console cache:clear
ausgeführt werden, damit die Änderungen wirksam werden.
shopware:
api:
max_limit: 100
api_browser:
auth_required: true
store:
context_lifetime: 'P1D' # 1 day interval, see also https://www.php.net/manual/en/dateinterval.construct.php#refsect1-dateinterval.construct-parameters
rate_limiter:
login:
enabled: true
policy: 'time_backoff'
reset: '24 hours' # reset limit after this time if no more requests failed
limits:
- limit: 10
interval: '10 seconds'
- limit: 15
interval: '30 seconds'
- limit: 20
interval: '60 seconds'
guest_login:
enabled: true
policy: 'time_backoff'
reset: '24 hours'
limits:
- limit: 10
interval: '10 seconds'
- limit: 15
interval: '30 seconds'
- limit: 20
interval: '60 seconds'
oauth:
enabled: true
policy: 'time_backoff'
reset: '24 hours'
limits:
- limit: 10
interval: '10 seconds'
- limit: 15
interval: '30 seconds'
- limit: 20
interval: '60 seconds'
reset_password:
enabled: true
policy: 'time_backoff'
reset: '24 hours'
limits:
- limit: 3
interval: '30 seconds'
- limit: 5
interval: '60 seconds'
- limit: 10
interval: '90 seconds'
user_recovery:
enabled: true
policy: 'time_backoff'
reset: '24 hours'
limits:
- limit: 3
interval: '30 seconds'
- limit: 5
interval: '60 seconds'
- limit: 10
interval: '90 seconds'
contact_form:
enabled: true
policy: 'time_backoff'
reset: '24 hours'
limits:
- limit: 3
interval: '30 seconds'
- limit: 5
interval: '60 seconds'
- limit: 10
interval: '90 seconds'