security - MongoDB:使用文档 ID "in public"是否安全?

我真的很喜欢 MongoDB 的自动生成 ID。它们真的很有用。

但是,公开使用它们是否可以节省?

假设有一个帖子集合,并且/posts 页面采用 id 参数(类似于/posts/4d901acd8df94c1fe600009b)并显示有关它的信息。

这样用户/黑客将知道文档的真实对象 ID。好还是不安全?

谢谢

最佳答案

ObjectID documentation声明自动生成的 ID 包括一个 3 字节的机器 ID(可能是 MAC 地址的哈希)。有人可以通过比较各种 id 中的这三个字节来了解有关您的内部网络的事情并不是不可想象的,但除非您正在为五角大楼工作,这似乎不值得担心(您更有可能容易受到更无聊的东西,比如配置错误的 Apache)。

除此之外,Epcylon 是对的;通过 URL 公开 id 本身并没有什么不安全的地方。当然,是否是另一回事。您可以对它们进行 base64 以使它们更短(我自己也在考虑这个问题),但奇怪的是它们几乎都是一样的。

关于security - MongoDB:使用文档 ID "in public"是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4587523/

相关文章:

mongodb - 用于 mongodb ObjectId 创建时间

mongodb - 如何将 MongoDB 中的属性从文本类型转换为日期类型?

mongodb - NoSQL 最佳实践

node.js - 连续迭代 mongodb 游标(在移动到下一个文档之前等待回调)

mongodb - 如何根据 Mongodb 中的键删除重复项?

javascript - 如何从 Mongoose 的集合中排除一个特定字段?

node.js - Mongoose:CastError:在路径 "[object Object]"

node.js - 来自 AWS Lambda 的 MongoDB 连接

mongodb - 截断集合

javascript - 如何在nodejs mongodb native 驱动程序中将字符串转换为