Ouvi dizer que a exposição de IDs de banco de dados (em URLs, por exemplo) é um risco à segurança, mas estou tendo problemas para entender o porquê.
Alguma opinião ou link sobre por que é um risco ou por que não é?
EDIT: é claro que o acesso é definido como escopo, por exemplo, se você não conseguir ver o recurso, foo?id=123
receberá uma página de erro. Caso contrário, o próprio URL deve ser secreto.
EDIT: se o URL for secreto, provavelmente conterá um token gerado com vida útil limitada, por exemplo, válido por 1 hora e pode ser usado apenas uma vez.
EDIT (meses depois): minha prática atual preferida para isso é usar UUIDS para identificações e expô-las. Se eu estiver usando números sequenciais (geralmente para desempenho em alguns bancos de dados) como IDs, eu gosto de gerar um token UUID para cada entrada como uma chave alternativa e expor isso.