- Spegnimento
- 23 settembre 2026 alle ore 08:37 UTC
- Autore
- Kamo
- Impegno
- 133a70d
CareersPublicController's POST /{orgRef}/alerts è l'unico endpoint anonimo, non autenticato in questo servizio che invia un'e-mail su ogni chiamata accettata, con nulla gating quanto spesso: un chiamante potrebbe inviare un link di conferma a qualsiasi indirizzo, ripetutamente, a qualsiasi tariffa — molestie di un reale casella di posta, o rischio di spesa/reputazione non legato sul dominio di invio della piattaforma. Aggiungi CareersAlertThrottle (Redis-backed; ogni regola è una finestra temporale, quindi nessun cambiamento schema): in la maggior parte di una conferma all'ora per indirizzo, nessuna ri-send mentre una finestra non confermata di 24 ore è e un tappo di prova per-source-IP. Anche cap quante righe non confermate un org può tenere a una volta, così un diluvio di nuovi indirizzi non può crescere il tavolo senza limiti. Ogni assegno risponde rimanendo in silenzio (subscribe() restituisce ancora 202) piuttosto che navigare in un errore distinguibile — corrispondendo la regola esistente del punto finale che un pubblico chiamante non deve mai essere in grado di dire "struito" a parte il "sent", che sarebbe di per sé un oracolo per "questo indirizzo esiste". La chiave per-IP viene risolta tramite LegalClientIp.resolve (la più a destra PUBLIC X-Forwarded-For hop), Non la lettura di stile "sinistra" usata per i percorsi di audit altrove in questo servizio: l'hop più a sinistra è quello che scrive un CLIENT, in modo da keying a throttle on avrebbe permesso ad un aggressore di sconfiggere il tappo per-IP semplicemente inviando un valore diverso su ogni richiesta. Legalecliente Ip di propria classe Javadoc documenti esattamente questa modalità di fallimento per il caso probatorio; si applica proprio come direttamente qui.
