我听说公开数据库 ID (例如,在 URL 中)是一种安全风险,但是我很难理解为什么。
对于为什么有风险或者为什么没有风险有什么看法或者链接吗?
编辑: 当然访问是有作用域的,例如,如果你看不到资源 foo?id=123
,你将会看到一个错误页面。否则 URL 本身应该是秘密的。
编辑: 如果 URL 是保密的,它可能包含一个生成的令牌,生存期有限,例如,有效期为1小时,只能使用一次。
编辑(几个月之后) : 我目前的首选做法是对 ID 使用 UUIDS 并公开它们。如果我使用序列号(通常用于某些 DBs 上的性能)作为 ID,我喜欢为每个条目生成一个 UUID 令牌作为备用键,并公开它。