Files
AnnasRechnungsManager/app/lib/rate-limiter.server.ts
T
hwinkel c3e7a97c8a
Build and Push Docker Image / build (push) Successful in 1m30s
fix: update login rate limit to allow 15 attempts within 3 minutes
2026-05-02 21:44:12 +02:00

22 lines
565 B
TypeScript

import { RateLimiterMemory } from "rate-limiter-flexible";
// Max. 15 Loginversuche pro IP innerhalb von 3 Minuten
const loginLimiter = new RateLimiterMemory({
points: 15,
duration: 60 * 3,
});
export async function checkLoginRateLimit(request: Request): Promise<string | null> {
const ip =
request.headers.get("x-forwarded-for")?.split(",")[0].trim() ??
request.headers.get("x-real-ip") ??
"unknown";
try {
await loginLimiter.consume(ip);
return null;
} catch {
return "Zu viele Loginversuche. Bitte 15 Minuten warten.";
}
}