Skip to content

Instantly share code, notes, and snippets.

@syzer
Created August 20, 2014 11:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save syzer/1ce9a1a4c1114a58fb50 to your computer and use it in GitHub Desktop.
Save syzer/1ce9a1a4c1114a58fb50 to your computer and use it in GitHub Desktop.
Middleware expres disable query param
/**
* Created by syzer on 8/20/2014.
*/
var port = 1337;
var express = require('express');
var app = express();
function disablePopulate(req, res, next) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
console.log('disabling malicious populate on request from ip', ip);
if (req.query && req.query.populate) {
delete req.query.populate;
}
next();
}
app.get('/', disablePopulate, function (req, res) {
res.send('page render finished without populate'); // + req.query
});
app.listen(port);
console.log('started server @1337');
// use nodemon server.js
// test with
// curl -X GET -s http://localhost:1337?populate=5 -w "\n"
// `page render finished without populate`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment