Sepertinya mongo-sanitize
modul npm adalah tempat untuk memulai fungsionalitas pelolosan mentah. Sejujurnya ini terdengar lebih tepat pada lapisan middleware connect/express karena pada lapisan luwak, berdasarkan desain, kode tidak memberikan harapan apa pun pada parameter kueri/perbarui dalam hal apakah mereka ditulis oleh pengembang aplikasi (dalam hal ini mereka tidak boleh disanitasi atau tidak akan berfungsi dengan benar) atau melibatkan input pengguna (yang harus disanitasi). Jadi saya akan merekomendasikan fungsi middleware untuk membersihkan tempat paling umum untuk input pengguna untuk masuk:req.body
, req.query
, dan req.params
. Jadi misalnya Anda mungkin melakukan sesuatu seperti (sketsa):
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);