Härtung: Login-Drosselung je IP/Konto, Mail-Anhangfehler ohne Retry, doppeltes Upload-Audit
- rate-limit: neuer Scope login (20/15 min, LOGIN_RATE_LIMIT_PER_15_MIN) je IP und je Konto; geprüft in verifyIdentityPassword (Login-Seite + Credentials-Provider), gedrosselt verhält sich wie Fehlanmeldung (generisch, konstante Laufzeit) – L10a - mail/worker: MailAttachmentError wie MailNotConfiguredError unrecoverable (fremder Mandant/Prüfsumme/Größe ändern sich nicht durch Warten) – L11 - field/uploads: Dokument-Audit nur noch in storeFile (vorher doppelt) – L10a - Test test-login-rate-limit Gate 65/65 grün; komplette Suite mit RLS_ENFORCED=true 65/65 grün. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -50,6 +50,8 @@ function perMinute(name: string, fallback: number): number {
|
||||
export const RATE_LIMITS = {
|
||||
/** Reset-Anfrage: 5 pro Stunde je IP und je Konto. */
|
||||
passwordResetRequest: { limit: 5, windowMs: 60 * 60_000 },
|
||||
/** Login (Passwortprüfung): je IP und je Konto – bremst Password-Spraying über viele Konten. */
|
||||
login: { limit: perMinute("LOGIN_RATE_LIMIT_PER_15_MIN", 20), windowMs: 15 * 60_000 },
|
||||
/** Reset-Einlösung: begrenzt das Durchprobieren manipulierter Links. */
|
||||
passwordResetRedeem: { limit: 10, windowMs: 15 * 60_000 },
|
||||
/** Alt-Passwort-Prüfung bei Selbständerung. */
|
||||
|
||||
Reference in New Issue
Block a user