MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

NodeJS में पासवर्ड रीसेट

मुझे आपके कोड में कोई समस्या नहीं मिली (या नहीं मिली), लेकिन मेरे पास बग का पता लगाने का एक सुझाव है।

कोड का यह ब्लॉक जोखिम भरा है। आप गलती से पासवर्ड फ़ील्ड को अपडेट कर सकते हैं और पासवर्ड रीहैश प्रक्रिया को ट्रिगर कर सकते हैं।

UserSchema.pre('save', function(next) {
   var user = this;
   var SALT_FACTOR = 12; // 12 or more for better security

   if (!user.isModified('password')) return next();

   console.log(user.password) // Check accident password update

   bcrypt.genSalt(SALT_FACTOR, function(err, salt) {
      if (err) return next(err);

      bcrypt.hash(user.password, salt, null, function(err, hash) {
         if (err) return next(err);
         user.password = hash;
         next();
      });
   });
});

एक console.log लगाएं if (!user.isModified('password')) . के ठीक बाद अनपेक्षित पासवर्ड अपडेट की जांच करने के लिए। अब दोबारा कोशिश करें पासवर्ड भूल जाएं और देखें कि कहीं कोई बग तो नहीं है।

*TD;LR अपडेट पासवर्ड को प्री-सेव में डालने के बजाय एक नई विधि में अलग करें क्योंकि आप गलती से अन्य फ़ील्ड के साथ एक नया पासवर्ड अपडेट कर सकते हैं

*अपडेट करें:धन्यवाद #imns एक बेहतर SALT_FACTOR नंबर सुझाने के लिए।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. बॉडी, नेवला/मोंगोडब में दस्तावेज़ प्रदान करके कई दस्तावेज़ों को अपडेट करें

  2. MongoDB एकत्रीकरण बहुत धीमा लगता है

  3. MongoDB में विशिष्ट मान वापस करने के 3 तरीके

  4. MongoEngine के साथ संग्रह नाम निर्दिष्ट करना

  5. MongoDB डेटाबेस से कनेक्ट करना