我听说MongoDB是一个非常好的数据库,特别是用于放置大数据,但是我不确定它真的有多安全。
我没有MongoDB的经验,但在我选择之前,我想知道重要数据的安全性。
例如,如果我指定了uri,我会输入:
uri = "mongodb://test1:test1@ds051990.mongolab.com:51990/base1"
我尝试进行P2P文本聊天,可以在具有root权限的用户PC上访问,每当用户注册时,用户的最新IP,用户名都会被添加到数据库中,代码如下所示。
但是"黑客"只需进入代码并查看所有信息就可以轻松访问它,然后他会读/写里面的所有数据。
防止此问题的最佳解决方案是什么?我认为像MongoDB这样的高级数据库会对访问它的其他用户提供某种保护。
如何确保只有必要的用户才能访问数据库,而其他用户无法通过查看uri变量来输入数据?
如果没有,我还能采取其他方式吗?因此,用户根本无法访问数据库,但我会从数据库中读取和写入文件。
答案 0 :(得分:1)
您无法轻易隐藏凭据。而是在数据库中创建具有最低必需权限的用户,并在分布式代码中使用这些凭据。
如果您担心用户能够看到纯文本IP地址,您应该先将它们哈希并加盐,然后再将它们插入数据库。