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 相关文章推荐
JQuery+CSS提示框实现思路及代码(纯手工打造)
May 07 Javascript
jquery实现table鼠标经过变色代码
Sep 25 Javascript
jQuery事件绑定on()与弹窗实现代码
Apr 28 Javascript
JavaScript常用判断写法大全(推荐)
May 30 Javascript
js中使用使用原型(prototype)定义方法的好处详解
Jul 04 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
Oct 26 Javascript
js获取隐藏元素的宽高
Feb 24 Javascript
BootStrap的两种模态框方式
May 10 Javascript
vue.js,ajax渲染页面的实例
Feb 11 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
Feb 01 Javascript
Element 默认勾选表格 toggleRowSelection的实现
Sep 04 Javascript
vue单元格多列合并的实现
Nov 26 Vue.js
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中函数rand和mt_rand的区别比较
2012/12/26 PHP
php广告加载类用法实例
2014/09/23 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
Highcharts入门之简介
2016/08/02 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
如何利用python进行时间序列分析
2020/08/04 Python
python如何调用百度识图api
2020/09/29 Python
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
大学军训感言
2014/01/10 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS
mybatis 获取更新记录的id
2022/05/20 Java/Android