- Shipped
- 28 agosto 2026 alle ore 03:17 UTC
- Author
- Kamo
- Commit
- af05296
Il punto finale non aveva limiti di alcun tipo. *** lo schermo del registro richiesto prima di abilitare il suo pulsante di ricerca non è mai stato letto qui — il richiesta corpo è tre campi di JSON e nulla sul server cercato un payload — così il controllo ha cantato un pulsante, non la richiesta, e uno script inviare direttamente a questo URL era già illimitato. VerificationResendRateLimiter lo sostituisce con un budget che il server possiede: a 60s cooldown preso come un singolo SET NX così le repliche da corsa non possono entrambi vincere, 5/ora e 15/giorno per indirizzo, e 20/ora per IP pubblico. Checked PRIMA dell'org e della ricerca degli utenti e cliccato sull'indirizzo SUBMITTED, quindi un la sonda costi di bilancio se esiste o meno il conto e il 429 non diventare l'oracolo dell'esistenza del conto che il punto finale è attento "se questo esiste una risposta" per evitare. La finestra IP è saltata per un indirizzo non pubblico: non determinato collassare in una chiave condivisa per ogni registrante. Redis-backed perché questo servizio esegue repliche, e non si apre su un outage Redis. Un rifiuto risponde 429 con Retry-After e retryAfterSeconds, così il schermo può contare giù contro questo orologio piuttosto che indovinare da solo.