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.
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:
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'