![如果我让用户创建自己的 Mongo 集合,会发生什么问题?](https://linux22.com/image/762200/%E5%A6%82%E6%9E%9C%E6%88%91%E8%AE%A9%E7%94%A8%E6%88%B7%E5%88%9B%E5%BB%BA%E8%87%AA%E5%B7%B1%E7%9A%84%20Mongo%20%E9%9B%86%E5%90%88%EF%BC%8C%E4%BC%9A%E5%8F%91%E7%94%9F%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%EF%BC%9F.png)
我正在构建一个基本的无代码解决方案,以构建支持 MongoDB 集合上的 CRUD 操作的 RESTful API。目前,这只是一个概念验证项目,我内部使用,没有外部用户。
我看见这个问题前几天在 Stack Overflow 上,我认为它可以让我将这个小项目转换为 SaaS 概念。
允许用户在 MongoDB 中创建自己的集合可能存在安全隐患,但我想不出会有什么灾难性后果……也许恶意用户可以故意创建性能糟糕的集合?或者也许用户可以注入对其他集合的引用……?
拥有独立的 Mongo 数据库是否有助于缓解这些攻击?或者你能给我更多理由说明为什么这是一个坏主意吗?
非常感谢!
答案1
我能想到的几个问题
- 集合名称重复
- 不需要的字符
- 由于您可能无法控制索引,因此存在性能问题
另一种方法是你为他们创建集合,然后让他们将数据放入字段中。但你还是会在某种程度上mixed
面临问题。indexing