Il sito Web OWASP consiglia questo :
- Utilizza per riferimento a oggetti indiretti per utente o sessione. In questo modo gli autori di attacchi non prendono di mira direttamente le risorse non autorizzate. Ad esempio, anziché utilizzare la chiave del database della risorsa, un elenco a discesa di sei risorse autorizzate per l'utente corrente potrebbe utilizzare i numeri da 1 a 6 per indicare quale valore l'utente ha selezionato. [corsivo mio]
- Controlla l'accesso. Ogni utilizzo di un riferimento ad un oggetto diretto da una fonte non attendibile deve includere un controllo di accesso per garantire che l'utente sia autorizzato per l'oggetto richiesto. [corsivo mio]
Quindi, se un utente non ha accesso alla risorsa richiesta, in che modo l'offuscamento del riferimento diretto all'oggetto migliora la sicurezza?
Vista la maggiore complessità che, ad esempio, un sito MVC di ASP.NET potrebbe maturare, vale la pena aggiungere ulteriori problemi ai siti bancari?