公开MongoDB的id和安全性

mongodb生成的id在所有文档中都是唯一的,那么将客户端暴露给用户的风险是什么? 像我有一个用户12345676543与ID 12345676543 ,它是明智的暴露它的URL像

example.com/user/update/id?12345676543

我认为在技术上不存在将mongodb gererated id暴露给客户的风险。 但是你可以考虑一些场景…

  1. 如果您需要随时更改用户的ID,那么使用自动生成的ID将会非常困难。

  2. 您可能需要更改ID的types。 例如,int或者string。

  3. 罕见,但可能的情况下。 您可能需要迁移到其他数据库系统。

所以,我认为最好自己的客户身份。 同样,如果你深思,mongodb中的_id表示文档的唯一标识,而不是用户。