mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 10:39:32 +01:00
fix(auth): widen the per-IP login throttle to 50, keep the per-account lockout at 10
One AUTH_FAILURE_MAX (10 per 15 min) gated the single-user per-IP bucket, the multi-user per-IP pre-gate, the per-username lockout and the hook-secret bucket. Clients sharing one egress IP (NAT, a tunnel, an automated client retrying) were throttled after 10 failures in total. Add AUTH_IP_FAILURE_MAX = 50 and use it for the two per-IP login buckets only. The per-username lockout and the hook-secret bucket keep AUTH_FAILURE_MAX = 10, so guessing against any one account, or against the hook secret, is no easier than before.
This commit is contained in:
1 parent
002de32a08
commit
ebb9e00de9
5 files changed
+33
-6
No files matched your search
@@ -149,7 +149,7 @@ by presence in a server‑side map, so they cannot be forged offline.
|
||||
|
||||
### Rate limiting / lockout recovery
|
||||
|
||||
Failed auth is tracked **per IP**: 10 failures → `429`, with a 15‑minute decay.
|
||||
Failed logins are tracked **per IP**: 50 failures (`AUTH_IP_FAILURE_MAX`) → `429`, with a 15‑minute decay. In multi-user mode a separate **per-username** bucket still returns `429` after 10 failed guesses (`AUTH_FAILURE_MAX`), so the wider per-IP cap (for clients sharing one egress IP) does not widen guessing against any one account.
|
||||
The QR path has its own separate limiter.
|
||||
|
||||
The lockout check sits **after** the cookie/credential checks (step 4, not first).
|
||||
|
||||
Reference in new issue
Block a user