sql >> Database >  >> NoSQL >> MongoDB

Gebruikersinvoer opschonen in Mongoose

Het lijkt erop dat de mongo-sanitize npm-module is de plek om te beginnen voor de onbewerkte escape-functionaliteit. Eerlijk gezegd klinkt dit meer geschikt voor de connect/express middleware-laag, omdat de code op de mangoest-laag door ontwerp geen verwachtingen uitoefent over de query/update-parameters in termen van of ze zijn geschreven door de applicatieontwikkelaar (in welk geval ze mogen niet worden opgeschoond, anders werken ze niet correct) of hebben gebruikersinvoer nodig (die moet worden opgeschoond). Daarom raad ik middleware-functies aan om de meest voorkomende plaatsen voor gebruikersinvoer te zuiveren:req.body , req.query , en req.params . U kunt bijvoorbeeld iets doen als (schets):

var json = require("body-parser").json;
var sanitize = require("mongo-sanitize");

function cleanBody(req, res, next) {
  req.body = sanitize(req.body);
  next();
}

function updateUser(req, res) {
  //...
  // safe to build an update query involving req.body here
}
app.put("/api/users", json(), cleanBody, updateUser);


  1. HBase:5 tips voor het uitvoeren van EC2 met weinig geheugen

  2. Samenwerking MongoDB lui laden met Jackson @JsonIgnore in SpringBoot Rest Controller

  3. Deel sessies tussen php en node

  4. Hoe exporteer ik alle collecties in MongoDB?