Sto facendo qualche ricerca sull'indagine degli account utente e ho voluto fare una domanda su alcune "cattive pratiche".
Il mio pensiero è generalmente questo è un compromesso tra grande funzionalità utente / UX e sicurezza. Ad esempio, potrei creare un servizio web utente che controlla se esiste un'e-mail, e quando un utente sta tentando di registrarsi, posso (per comodità) far sapere loro che questo account esiste già (invece di dover passare attraverso intero processo solo per scoprire alla fine l'account è preso).
Inoltre, per un modulo di accesso, che dice all'utente "questo nome utente / password non è valido" invece di "quel nome utente non esiste" contribuirà a ridurre le possibilità di un attacco.
Alla fine della giornata (per la registrazione), il mio pensiero era che il suddetto servizio web è una cattiva idea, ma ci deve essere un modo per garantire che l'utente sappia che il nome è preso / disponibile.
Quali sono alcune tecniche che le persone fanno per garantire questo? Ho pensato che le richieste di servizio che limitano la velocità dal punto di vista del server siano una buona idea. È comune? Ad esempio, ho un qualche modo di sparare a quel servizio web usando un attacco di dizionario. Dopo un tempo sufficiente, potrei avere un intero elenco di indirizzi e-mail che sono validi e ora ho solo bisogno di indovinare le password anziché entrambe. Ma se il servizio è limitato in modo tale che dopo N richieste, la risposta rallenta, o richiede un CAPTCHA, sarebbe più difficile rimuoverlo (ora ho bisogno di usare indirizzi IP univoci, ecc.)
Volevo vedere se il mio pensiero fosse giusto qui o se qualcuno potesse aggiungerlo a questo.
A proposito, ho notato che Microsoft non lo fa! Quando vai su live.com e digiti un nome utente inventato, ti dice che il nome utente non esiste. Quando provi un nome utente valido ma una password errata, ti dice che la password è sbagliata! Non è una cattiva pratica? Quali sono alcuni motivi per cui consentono questo? Perché è un servizio popolare e ottenere un indirizzo e-mail dal vivo è abbastanza semplice? O forse quello combinato con un sacco di sicurezza del server?