Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
express-html-sanitizer
Advanced tools
Express JS middleware to cleanup/sanitize json request body in express
express-html-sanitizer
provides a middleware for Express JS to cleanup/sanitize JSON
request body in express RESTful Service
or in any JSON
input containing unwanted HTML
tags.
express-html-sanitizer
uses excellent sanitize-html module recursively for sanitizing JSON
data with unwanted HTML
tags. You can put this middleware at root level to sanitize request body and provide a clean html sanitized payload for next middleware.
express-html-sanitizer
is intended for use with Express JS as a middleware. That's pretty much it. express-html-sanitizer
is built on the excellent sanitize-html
module.
Install module:
npm install express-html-sanitizer
Import the module:
const sanitizer = require('express-html-sanitizer')
Get the middleware:
const sanitizeReqBody = sanitizer();
you can make some configuration for allowed tags and other like exactly sanitize-html and pass it as argument to get configured middleware. For details configuration you can see sanitize-html module documentation.
config = {
allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ],
allowedAttributes: {'a': [ 'href' ] },
allowedIframeHostnames: ['www.youtube.com']
}
const sanitizeReqBody = sanitizer(config);
Add a json body-parser
middleware
app.use(require('body-parser').json());
Now use it in your Express App
.
app.use(sanitizeReqBody);
const express = require('express');
const sanitizer = require('express-html-sanitizer');
const app = express();
//Make some custom configuration if you want(optional)
config = {
allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ],
allowedAttributes: {'a': [ 'href' ] },
allowedIframeHostnames: ['www.youtube.com']
}
//Get the middleware
const sanitizeReqBody = sanitizer(config);
//Add body-parser middleware
app.use(require('body-parser').json());
//Add express-html-sanitizer middleware
app.use(sanitizeReqBody);
app.post('/post', (req, res, next) => {
//get sanitized req.body
})
app.listen(8080, ()=> {
console.log("Express server started");
})
Fell free to open issues on github
FAQs
Express JS middleware to cleanup/sanitize json request body in express
We found that express-html-sanitizer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.