Dichiarazione di non responsabilità: sì, ho controllato Quali codici di stato HTTP sono interessanti dal punto di vista della sicurezza? che suona rilevante ma non del tutto.
In questi giorni dovrebbe essere una buona pratica non divulgare dati extra per utenti non autenticati. Es: indirizzi e-mail per la funzione "password dimenticata": quando invece di dire "questa e-mail non è registrata" quindi rivelando che un utente non è lì / o c'è sempre si restituisce lo stesso messaggio come "controlla la tua e-mail con il link di reimpostazione della password ".
Fin qui tutto bene.
Ma per quanto riguarda i codici di stato HTTP, maggiori dettagli: per 404 contro 403.
Supponiamo di avere un'area protetta in cui più persone hanno un accesso diverso. Supponiamo che si tratti di una gestione degli utenti per più organizzazioni.
E se hai una chiave primaria basata sulla sequenza per gli utenti che è usata nel link al profilo dell'utente, ad es .: /admin/users/42
allora potresti iterare sul contatore e confrontare il codice di risposta dello stato 404 - per non esistente, 403 per esistente determinare quanti utenti ci sono.
È un semplice esempio e penso che ci siano molte cose simili in giro.
Quindi la domanda: dovremmo preferire la sicurezza rispetto alla semantica e usare solo 403 (o 404) esclusivamente in tutti i casi?