在插入MongoDB之前需要清理用户input(MongoDB + Node js组合)
我用NodeJS使用MongoDB,想知道在插入/更新数据库文档之前是否需要清理数据。 它很难find明确的答案,我想知道是否有任何节点模块很好地做到这一点,或者我需要去除$string中的所有出现或根本不需要担心这一点。 我知道PHP有漏洞,但我使用Node / Mongo(本地驱动程序)组合,但仍然不确定是否需要做任何清理用户input。
如果您将数据存储为string,并且不parsing它以执行Mongo命令,那么没有什么可担心的。
好的安全文章
http://cr.yp.to/qmail/guarantee.html
唯一的问题是当你检索用户input时,你parsing这个input来执行Mongo命令,在这里你需要注意清理input,否则你会受到攻击。
有一个npm包为你做
https://www.npmjs.com/package/mongo-sanitize
还有很好的文章
是的你是。 欲了解更多信息检查了这一点; https://www.npmjs.com/package/content-filter
也可以使用本地的escape()
方法来保护数据库。
运行下面的代码片段查看结果。
let a = "{$gt:25}" console.log(a) console.log(escape(a))