0

我即将部署我的第一个使用 MongoDB 的 Web 服务的生产版本。此 Web 服务可能容易受到攻击(黑客)。我一直使用内置的 Object-ID 作为每个值的唯一标识符,这是公开的(或至少对经过身份验证的用户)。

考虑到它是建立在对象创建时间戳、机器和进程 ID 等数据上的(http://docs.mongodb.org/manual/core/object-id/),这可能是一个问题吗?是不是我提供了太多关于对象创建时间、使用了多少台机器等的信息?你的建议是什么?

4

1 回答 1

2

并不真地。它不能用于绘制您的网络或机器或查找隐藏的对象,甚至不能绘制您的流量和加载时间(正如我在尝试中发现的那样)。

例如,与自动递增 ID 不同,您无法轻松判断使用什么时间戳或 PID 或机器 ID 创建下一个 ObjectID。这使得抓取隐藏对象变得非常困难,特别是如果您没有在某处公开链接到它们。

PID 和机器 ID 并不能很好地识别有关您网络的任何内容,并且 PID 几乎可以随时更改,无论进程是否重新启动或您是否重新启动服务器;或者,如果您使用的是 PHP 之类的语言,则每次有新连接进入时。

机器 ID 是另一条无用的信息,除了您的计算机之外,它不会真正为任何人提供任何有意义的结果。我认为它不再使用网络接口 ID(某些驱动程序使用了),因此它不能用于从外部识别机器。

所以简而言之,不是真的。

于 2013-02-12T20:29:43.247 回答