我很喜欢MongoDB自动生成的ID.它们真的很有用.
然而,公开使用它们是否省钱?
假设有一个posts集合,/posts页面接受id参数(类似于/posts/4d901acd8df94c1fe600009b)并显示有关它的信息.
这样,用户/黑客将知道文档的真实对象id.还好还是不安全?
谢谢
我很喜欢MongoDB自动生成的ID.它们真的很有用.
然而,公开使用它们是否省钱?
假设有一个posts集合,/posts页面接受id参数(类似于/posts/4d901acd8df94c1fe600009b)并显示有关它的信息.
这样,用户/黑客将知道文档的真实对象id.还好还是不安全?
谢谢
ObjectID documentation表示自动生成的ID包括一个3字节的机器ID(可能是MAC地址的散列).人们通过比较不同ID中的这三个字节来了解你的内部网络并不是不可想象的,但除非你为五角大楼工作,这似乎不值得担心(你更容易受到一些更无聊的事情的影响,比如错误配置的Apache).
除此之外,赛隆是对的;通过URL公开ID本身并没有什么不安全之处.当然,是否是ugly是另一回事.你可以让它们变短(我自己也在考虑这个问题),但奇怪的是它们都差不多是一半.