MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Oczyść dane wejściowe użytkownika w Mongoose

Wygląda na to, że mongo-sanitize Moduł npm to miejsce, od którego należy zacząć surową funkcję ucieczki. Szczerze mówiąc, brzmi to bardziej odpowiednio w warstwie oprogramowania pośredniczącego connect/express, ponieważ w warstwie mangusty, z założenia, kod nie ma żadnych oczekiwań co do parametrów zapytania/aktualizacji, jeśli chodzi o to, czy są one napisane przez programistę aplikacji (w takim przypadku nie mogą być oczyszczone lub nie będą działać poprawnie) lub wymagają danych wejściowych użytkownika (które muszą zostać oczyszczone). Dlatego zalecam funkcje oprogramowania pośredniego, aby oczyścić najczęstsze miejsca, w których użytkownik wprowadza dane:req.body , req.query i req.params . Na przykład możesz zrobić coś takiego (szkic):

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę połączyć się z serwerem MongoDB za pomocą JAVA z OpenShift?

  2. PyMongo upsert rzuca upsert musi być instancją błędu bool

  3. Android:moja aplikacja nie działa, ponieważ muszę obsłużyć wyjątek nieznany host. kiedy to robię się zawiesza

  4. Uzyskaj dostęp do MongoDB bezpośrednio przez JavaScript

  5. MongoDB $cond