Node.js Mongodb 密码特殊字符 @的解决方法


Posted in Javascript onApril 11, 2017

在去年的 DB 勒索事件之后, 不少的同学开始加强 Mongodb 的安全性, 其中一种办法就是设置复杂的密码. 那么问题来了, 如果设置的密码里包含一些如 “@”, “:” 一样的特殊字符怎么办?

mongodb://username:password@host:port/db

这种情况可能使得你的 Mongodb 连接串不能被正常解析, 并且完全有可能出现. 烦人的地方在于:

1.使用 “” 双引号将 password 包起来没有用

2,使用 \@ 转义也没有用

解决方案 1

开启 uri_decode_auth 功能, 拼接连接串之后先 encode 一下, 然后通过 uri_decode_auth 在 driver 内部 decode 来绕过这个问题

mongoClient.connect("mongodb://username:p%40ssword@host:port/dbname", {
  uri_decode_auth: true
  }, function(err, db) {

  }
);

解决方案2

老老实实查文档, 在 options 中指明:

mongoose.connect('mongodb://localhost/test',
         {user: 'username', pass: 'p@ssword'},
         callback);

以上所述是小编给大家介绍的Node.js Mongodb 密码特殊字符 @的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS代码放在head和body中的区别分析
Dec 01 Javascript
javascript的console.log()用法小结
May 31 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
Dec 17 Javascript
jquery+css3打造一款ajax分页插件(自写)
Jun 18 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
js调用屏幕宽度的简单方法
Nov 14 Javascript
jquery实现自定义图片裁剪功能【推荐】
Mar 08 Javascript
微信小程序人脸识别功能代码实例
May 07 Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 Javascript
微信小程序点击顶部导航栏切换样式代码实例
Nov 12 Javascript
js实现div色块碰撞
Jan 16 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
Jul 24 Javascript
javascript数组去重常用方法实例分析
Apr 11 #Javascript
JS实现针对给定时间的倒计时功能示例
Apr 11 #Javascript
vuejs绑定class和style样式
Apr 11 #Javascript
vue监听滚动事件实现滚动监听
Apr 11 #Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 #jQuery
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 #jQuery
JS中IP地址与整数相互转换的实现代码
Apr 10 #Javascript
You might like
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
附件名前加网站名
2008/03/23 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
浅谈Postman解决token传参的问题
2018/03/31 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
[00:27]DOTA2荣耀之路2:Patience from zhou!
2018/05/24 DOTA
Python中使用PDB库调试程序
2015/04/05 Python
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
Python实现随机选择元素功能
2017/09/14 Python
pycharm创建一个python包方法图解
2019/04/10 Python
基于Python绘制个人足迹地图
2020/06/01 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
python openssl模块安装及用法
2020/12/06 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
新浪网技术部笔试题
2016/08/26 面试题
销售自我评价
2013/10/22 职场文书
优秀团员事迹材料
2014/12/25 职场文书
四风之害观后感
2015/06/09 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js