【发布时间】:2012-01-04 17:22:57
【问题描述】:
向用户显示由数据库自动递增的实际 ID 是否存在安全风险?你能举一些实际例子来说明人们可以用它做什么危险吗?
【问题讨论】:
-
我认为将内部 id 泄漏到 UI 中是不好的风格。但这并不总是可以避免的(内部 id 通常是主 id),而且通常肯定不是安全问题。
-
@mario 为什么它的风格不好?因为它有潜在的危险?我之所以问,是因为从技术上讲,如果它真的很重要,我可以稍微麻烦地避免它。
-
不,本身并不危险。只是您不应该将内部编号(主要用于关系数据库映射)变成外部编号。这通常与搜索引擎优化有关。但我只想说数字不太方便用户使用,除非需要可重定位性,否则不应在 URL 中公开。
-
@mario 我的 id 永远不会在 url 中公开。只是以一种只有查看页面来源才能看到的形式传递。此外,使用数字和“网址友好”名称的组合可能更利于您的理智,并且(实际上)与用户友好和 SEO 兼容。
标签: php mysql security auto-increment