Mongo bug - 如何保护或验证我的数据库?

时间:2015-07-23 09:10:19

标签: php mongodb

如何在MongoDB中保护或验证我的数据库?

我使用命令行

创建了一个用户
use mydb
db.createUser(
  {
    user: "root",
    pwd: "password",
    roles: [ { role: "userAdmin", db: "mydb" } ]
  }
)

我的php,

// connect to mongodb
$m = new MongoClient();
var_dump($m);

// select a database
$db = $m->selectDB("mydb");
var_dump($db);

但为什么我仍然可以访问数据库没有身份验证?我错过了什么?

我在MongoDB 3上。

2 个答案:

答案 0 :(得分:1)

这完全是预料之中,而不是一个错误。 我只是将文字添加到Blakes Seven上面的链接并发表评论:

这是来宾用户概念,不会影响安全性(请参阅Blakes链接:mongodb allows guest connection even when auth is enabled)。

这意味着:您的数据是安全的,访客用户只能访问元数据。这个概念在其他服务中是众所周知的(参见Jenkins,参见一些CMS系统等)。

答案 1 :(得分:0)

我必须再次运行mongo

{{1}}

然后auth按预期工作。