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技巧来提高你的代码
Jan 08 Javascript
JS input文本框禁用右键和复制粘贴功能的代码
Apr 15 Javascript
jQuery模拟超链接点击效果代码
Apr 21 Javascript
JavaScript中的方法重载实例
Mar 16 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
May 05 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
js实现图片淡入淡出切换简易效果
Aug 22 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
Sep 04 Javascript
JavaScript 中对象的深拷贝
Dec 04 Javascript
js的函数的按值传递参数(实例讲解)
Nov 16 Javascript
vue中的inject学习教程
Apr 24 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
Oct 02 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设计模式之代理模式的深入解析
2013/06/13 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
2009/11/14 Javascript
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
django实现前后台交互实例
2017/08/07 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
python标记语句块使用方法总结
2019/08/05 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
Python2与Python3的区别点整理
2019/12/12 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
长辈证婚人证婚词
2014/01/09 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
公司地址变更通知
2015/04/25 职场文书
js中Object.create实例用法详解
2021/10/05 Javascript