Ho sentito che esporre gli ID del database (ad esempio negli URL) è un rischio per la sicurezza, ma ho difficoltà a capire il perché.
Qualche opinione o collegamento sul perché è un rischio o perché non lo è?
EDIT: ovviamente l'accesso è mirato, ad esempio se non riesci a vedere la risorsa foo?id=123
otterrai una pagina di errore. Altrimenti l'URL stesso dovrebbe essere segreto.
MODIFICA: se l'URL è segreto, probabilmente conterrà un token generato che ha una durata limitata, ad esempio valido per 1 ora e può essere utilizzato solo una volta.
EDIT (mesi dopo): la mia attuale pratica preferita per questo è usare UUIDS per ID ed esporli. Se sto usando numeri sequenziali (di solito per prestazioni su alcuni DB) come ID, mi piace generare un token UUID per ogni voce come chiave alternativa ed esporlo.