J'ai entendu dire que l'exposition des identifiants de base de données (dans les URL, par exemple) est un risque pour la sécurité, mais j'ai du mal à comprendre pourquoi.
Des opinions ou des liens expliquant pourquoi c'est un risque ou pourquoi ce n'est pas le cas?
EDIT: bien sûr, l'accès est limité, par exemple si vous ne pouvez pas voir la ressource, foo?id=123
vous obtiendrez une page d'erreur. Sinon, l'URL elle-même doit être secrète.
EDIT: si l'URL est secrète, elle contiendra probablement un token généré qui a une durée de vie limitée, par exemple valable 1 heure et ne peut être utilisé qu'une seule fois.
EDIT (des mois plus tard): ma pratique préférée actuelle pour cela est d'utiliser UUIDS pour les identifiants et de les exposer. Si j'utilise des nombres séquentiels (généralement pour les performances sur certaines bases de données) comme ID, j'aime générer un jeton UUID pour chaque entrée en tant que clé alternative, et l'exposer.