【发布时间】:2010-10-08 16:41:27
【问题描述】:
使用数据库主键作为 URL 标识符的优缺点是什么?例如,http://localhost/post/view/13 - 13 是我的帖子表的主键。
像 reddit 之类的一些网站使用我假设的唯一 ID,它不是主键但仍然是唯一的,以帮助识别链接:
http://www.reddit.com/r/funny/cmets/7ynin/the_mystery_of_irelands_worst_driver/
只要 /7ynin/ 相同,您可以将 URL 的最后一部分更改为您想要的任何内容。
Digg 似乎使用链接标题的 slug 来标识链接:
http://digg.com/space/Liquid_Water_Recently_Seen_on_Mars
如果我没记错的话,默认的 WordPress 安装使用 index.php?p=# 作为他们的 id,直到启用花哨的 url。
我明白为什么为了 SEO 的缘故,您可能希望获得信息量最大的 url,但我只是想看看使用主键是否存在安全风险,或者仅仅是错误的形式。
【问题讨论】:
-
向上看,向上看。你看到了什么?一个主键。加上一个对 SEO 友好的蛞蝓。如果你有一个友好的名字,请使用一个友好的名字,否则一个 PK 很好。但请确保用户看不到其他用户信息。
标签: security database-design friendly-url