express-xss-sanitizer
Version:
Express 4.x and 5.x middleware which sanitizes user input data (in req.body, req.query, req.headers and req.params) to prevent Cross Site Scripting (XSS) attack.
27 lines (23 loc) • 540 B
JavaScript
;
const sanitize = require('./lib/sanitize');
function middleware(options = {}) {
return (req, res, next) => {
['body', 'params', 'headers'].forEach((k) => {
if (req[k]) {
req[k] = sanitize(req[k], options);
}
});
const sanitizedQuery = sanitize(req.query, options);
Object.defineProperty(req, 'query', {
value: sanitizedQuery,
writable: false,
configurable: true,
enumerable: true,
});
next();
};
}
module.exports = {
xss: middleware,
sanitize,
};