I want to remove all malicious data input from my express api requests? how I sensitize data
"use strict";
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
const bodyParser = require("body-parser");
const mongoose = require('mongoose');
require('dotenv').config();
var util= require('util');
var cors = require('cors');
I am using this all package which extra package i add
CodePudding user response:
please refer to sanitize npm package for your request object Link: https://www.npmjs.com/package/sanitize
CodePudding user response:
You can use lodash to do that sanitize process, in the following way.
const _ = require('lodash');
function sanitize(body, values) {
return _.pick(req.body, values);
}
console.log(sanitize(req.body, ['name', 'email', 'password']));
If you are using express you can the following middleware as follow:
const validatorFunc = (values) => {
return (req,res,next) => {
const data = _.pick(req.body, values);
req.body = data;
next();
}
}