Quando si accede a un sito con credenziali utente / password errate, l'errore visualizzato è generalmente un generico "nome utente o password errati". Analizzando un codice PHP che gestisce tale accesso, ho trovato una richiesta MYSQL vincolata sia sull'ID utente sia sull'hash della password, rendendo così impossibile determinare quale delle stringhe fosse errata se la richiesta non restituiva nulla.
Esistono alcuni principi di sicurezza che spiegano perché i siti non preferiscono cercare il nome utente e quindi corrispondono alla password, e anche perché non rendono i messaggi di errore più specifici ("Nome utente sconosciuto", "Password errata" )?