A super-simple no-dependency defense against query selector injection attacks: http://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb.html
Switch branches/tags
Nothing to show
Clone or download
Latest commit 11804b6 Nov 26, 2018



For the passionately lazy, a standalone module that sanitizes inputs against query selector injection attacks:

var sanitize = require('mongo-sanitize');

// The sanitize function will strip out any keys that start with '$' in the input,
// so you can pass it to MongoDB without worrying about malicious users overwriting
// query selectors.
var clean = sanitize(req.params.username);

Users.findOne({ name: clean }, function(err, doc) {
  // ...

If sanitize() is passed an object, it will mutate the original object.