我被告知暴露数据库内部结构是不好的,但我已经开始注意到许多相对高调的网站在做这件事,例如Chartboost和ServerDensity都在其URL中公开MongoDB文档_id
字段。
有人可以解释为什么这样做不好吗?我唯一能想到的是它对SEO有害,因为它们不是人类可读的URL,但这是否属实?
答案 0 :(得分:2)
通过“公开数据库内部”我理解诸如将数据库服务器暴露给互联网或让用户运行任意查询之类的东西。这个东西无疑是坏事。或者,如果您以某种方式暴露您的数据库架构,恶意用户可以利用此优势。
在网址中使用对象ID很好。无论如何,人类都不会记住网址,搜索引擎也不关心帖子链接是帖子或帖子ID。
答案 1 :(得分:1)
甚至stackoverflow在URL中显示其数据库ID-s。它可能是代理关键或自然,无论如何你必须以某种方式识别资源。基本上,每个站点都在URL中使用某种标识,通常是PK。为什么你认为他们使用MongoDb?它甚至可以是GUID而不是Long PK的关系数据库
即使您显示某人数据库架构,也不会发生任何事情,除非您受到sql-injection的保护。