比方说,我不小心泄露了这只猫,并让我的MONGODB_URI公开了一个由mLab在Heroku上提供的数据库--有办法重置/重新生成/更改我的连接字符串吗?
例如,我的连接字符串如下所示:mongodb://heroku_g20xzxs8:vc8k708rh1qqgr17luq7satqct@ds045622.mlab.com:41222/heroku_g20xzxs8
发布于 2016-10-22 04:08:06
首先,通过mongo立即设置新密码:
登录:
$ mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin更改密码:
$ db.changeUserPassword("yourusername", "S0m3NeWPaSW0RdPxmt1oOfL")之后,您可以使用db.removeUser(username)来删除用户名,并重新创建它db.createUser().。蒙戈2.6 db.removeUser()。
可以更新整个用户的db.updateUser()。
要部署新的字符串,请执行heroku:
$ heroku config:set MONGODB_URI=mongodb://dbuser:dbpass@host1:port1,host2:port2/dbname如果您不想使用CLI/命令行的方式,请完全删除用户,并在mLabs上创建一个新的用户-“初始主屏幕”/“MongoDB部署”/用户/‘名称-Readonly-X’。单击“X”删除并完成。添加新用户,然后部署新字符串。
发布于 2016-06-18 18:25:59
这里的关键是了解连接字符串是由什么组成的。在使用单节点计划的情况下,连接字符串默认为此格式。
mongodb://dbuser:dbpass@host:port/dbname
其中包含一些生成的数据库用户和密码。如果您通过Heroku应用程序的仪表板进入您的mLab管理门户,或者使用Heroku打开它:
heroku addons:open mongolab
您可以进入“用户”选项卡并创建一个新用户。使用新的用户名和密码,您可以使用更新您的heroku配置变量。
例如,在本例中,生成的用户名为heroku_g20xzxs8,密码为vc8k708rh1qqgr17luq7satqct。如果您创建了一个新的用户new_db_user和th1$PasswordR0x密码,则更新的连接字符串和MONGODB_URI配置变量的值如下所示:
mongodb://new_db_user:th1$PasswordR0x@ds045622.mlab.com:41222/heroku_g20xzxs8
一旦您测试了更新后的MONGODB_URI是否正常工作,请继续删除自动生成的用户--耶,不再有漏洞了!
https://stackoverflow.com/questions/37900283
复制相似问题