ऐसा लगता है जैसे mongo-sanitize
npm मॉड्यूल कच्चे भागने की कार्यक्षमता के लिए शुरू करने का स्थान है। ईमानदारी से यह कनेक्ट/एक्सप्रेस मिडलवेयर परत पर अधिक उपयुक्त लगता है क्योंकि नेवला परत पर, डिज़ाइन द्वारा, कोड क्वेरी/अपडेट पैरामीटर पर कोई अपेक्षा नहीं करता है कि क्या वे एप्लिकेशन डेवलपर द्वारा लिखे गए हैं (जिस स्थिति में वे सैनिटाइज़ नहीं किया जाना चाहिए या वे ठीक से काम नहीं करेंगे) या उपयोगकर्ता इनपुट शामिल है (जिसे साफ किया जाना चाहिए)। इस प्रकार मैं उपयोगकर्ता इनपुट को दर्ज करने के लिए सबसे आम स्थानों को साफ करने के लिए मिडलवेयर कार्यों की सिफारिश करता हूं:req.body
, req.query
, और req.params
. तो उदाहरण के लिए आप कुछ ऐसा कर सकते हैं (स्केच):
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);