Accesso non autorizzato a una pagina - quando o se è necessario restituire il codice di stato HTTP 401

1

Quando un utente richiede una pagina a cui non hanno accesso; dovresti restituire un codice di stato HTTP 401 e una pagina per avvisare l'utente.

In passato ho lavorato sotto l'idea che è una cattiva pratica, come quando si fa un controllo di sicurezza di un sito Web che spigola informazioni come questa è una pagina reale, non sei autorizzato ad accedervi, sono informazioni preziose che potrebbero essere sfruttate.

Come dovrebbe essere gestito o è solo caso per caso?

    
posta Dale Snowdon 15.01.2016 - 17:21
fonte

1 risposta

4

Sembra che tu intenda 403 vietato, non 401 non autorizzato (dal momento che dici accesso autorizzato, non autenticazione). Questa fonte la spiega in modo più dettagliato: Daniel Irvine

401 Unauthorized, the HTTP status code for authentication errors. And that’s just it: it’s for authentication, not authorization. Receiving a 401 response is the server telling you, “you aren’t authenticated–either not authenticated at all or authenticated incorrectly–but please reauthenticate and try again.” To help you out, it will always include a WWW-Authenticate header that describes how to authenticate.

Receiving a 403 response is the server telling you, “I’m sorry. I know who you are–I believe who you say you are–but you just don’t have permission to access this resource. Maybe if you ask the system administrator nicely, you’ll get permission. But please don’t bother me again until your predicament changes.”

Non ho mai sentito parlare di un codice di stato 401/403 come una cattiva pratica. In scenari non di attacco, serve l'importante funzione di far sapere a un utente che è necessario richiedere un aggiornamento dei privilegi o andare a qualcuno con privilegi più elevati per completare alcune attività. In molti di questi casi un utente deve sapere che la risorsa esiste.

Rivela agli attaccanti che esiste una risorsa, potenzialmente ingrandendo la superficie di attacco della tua app. Tuttavia, se si dipende da un attaccante che non conosce una risorsa per mantenerlo al sicuro, si dovrebbe probabilmente migliorare le difese attorno ad esso. I vantaggi dell'usabilità superano i lievi svantaggi di sicurezza.

    
risposta data 15.01.2016 - 19:57
fonte

Leggi altre domande sui tag