这里是在简书仿简书的第三篇,早睡早起身体好
开始瞎搞之前我们来确定一下开发环境。
明白无密码登录的处境
MongoDB 的安装按照官网的教程操作就好,需要注意的是,安装完成的 MongoDB 默认是无密码登录的。
这个话的意思就是,只要有人知道数据库的地址,那么无需任何授权,他可以对你的数据库为所欲为。没错,就是为所欲为,比如清空你的数据库并留下一个比特币钱包让你转账。
再直白一点就是你创建了一个无密码的百度网盘分享链接。当然,MongoDB 的链接是可以进行读写操作的,更加危险。
所以我们要设置一个账号和密码以供我们登录,并防止恶意破坏。
创建账号,授权访问
MongoDB 无密码登录在 Windows 上是这样的。
// 开一个终端
mongod
// 再开一个终端
mongo
这张图告诉了我们两件事,其一,当前并没有对数据库的访问进行权限控制。其二,外部网络无法访问该数据库,只有本机可以访问。
这是我们要该改的两点,其中第二点一般在服务器上的我们会修改,本地开发的服务器我们也不需要远程的连接。
这里我们先说第一点,开启访问权限。
在开启之前,我们先创建一个超级账号。
无密码登录到 MongoDB 后,使用一下命令创建账号。
use admin
db.createUser({user: 'cemcoe', pwd: 'ddafuaig42d5', roles: ['root']})
有了账号后我们要配置MongoDB,让它对连接进行权限验证,在 Windows 上你可以使用下面的命令要求连接提供凭证。
mongod --auth
此时当你连接数据库而没有提供账号时将会禁止访问。
而对于服务器,我们往往在配置文件中修改对应的信息。
// /etc/mongod.conf
security:
authorization: enabled
经过一番折腾后就可以使用创建的账密登录了。
管理数据库
接下来我们来下载一个数据库管理软件来管理数据库,我用的是 MongoDb Compass
。
你需要提供一个类似的字符串供软件连接,该字符串中包含上面我们创建的用户名和密码以及数据库地址,注意该敏感信息不要暴露到网络上。
// 数据已脱敏
mongodb://cemcoe:password@localhost:27017/jianshu_api?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&ssl=false
当然了,你也可以通过填空来连接。
一些版本号
剩下的一些环境,前端都很熟悉就不多介绍了。
下面是前端经常要用到的东西,不在多说
VueCli @vue/cli 4.5.4
Node v12.18.3
npm 6.14.6
网友评论