2010-03-01 29 views
8

भूल गए पासवर्ड/पासवर्ड रीसेट को संभालने का सबसे सुरक्षित तरीका क्या है? क्या मुझे उपयोगकर्ता को पासवर्ड ईमेल करना चाहिए? यदि ऐसा है तो आप उन्हें रीसेट करने के लिए मजबूर करते हैं? या क्या आप उन्हें तुरंत रीसेट करने देते हैं (ईमेल भेजने के बिना) और कुछ अन्य जानकारी की आवश्यकता है ताकि यह सत्यापित किया जा सके कि यह है? या क्या एक बेहतर तरीका है?पासवर्ड रीसेट करने या पुराने पासवर्ड देने के सुरक्षित तरीके

+0

हाल ही में इस विषय पर एक बड़ी चर्चा हुई: http://stackoverflow.com/questions/2283937/how-should-i-ethically-approach-user-password-storage-for-later-plaintext-retriev –

+0

यदि आपके सिस्टम में उपयोगकर्ता के पासवर्ड को देखने और उसे ईमेल करने की क्षमता है, तो आपने कुछ गलत किया है। आपको कभी भी उपयोगकर्ता के पासवर्ड को देखने में सक्षम नहीं होना चाहिए। आपको केवल आने वाले पासवर्ड को हश करने और तुलना करने, या इसे बदलने और नया पासवर्ड भेजने में सक्षम होना चाहिए। – Scott

उत्तर

14

आप उपयोगकर्ता के लिए पासवर्ड ईमेल नहीं कर सकते करने के लिए पासवर्ड ईमेल क्योंकि आप यह पता नहीं है नहीं है। आपने भंडारण के लिए applying something like PBKDF2 or bcrypt तक इसे "धोया" है, है ना?

यदि आप खाते के मालिक के साथ पुष्टि किए बिना पासवर्ड रीसेट करते हैं, तो एक हमलावर, जब तक वह रीसेट का अनुरोध करने के लिए पीड़ित के ईमेल पते का उपयोग करके अपने खाते की जांच नहीं करता है, तब तक मालिक अपने खाते तक पहुंच से इंकार कर सकता है।

कई अनुप्रयोगों के लिए पर्याप्त एक विधि सुरक्षित है, जिसमें खाता स्वामी के लिए एक लिंक ईमेल करना है, जिसमें एक बड़ा, यादृच्छिक रूप से जेनरेट किया गया नंबर शामिल है। यह टोकन केवल सीमित समय के लिए मान्य होना चाहिए। यदि मालिक अपना पासवर्ड रीसेट करना चाहता है, तो वे लिंक पर क्लिक करें और यह उन्हें खाता स्वामी के रूप में प्रमाणित करता है। खाता स्वामी तब एक नया पासवर्ड निर्दिष्ट कर सकता है।

0

मुझे लगता है कि आप इसे प्रोग्रामेटिक रूप से करने जा रहे हैं? या यह सर्वर फॉल्ट के लिए एक सवाल है?

एक तरीका है उपयोगकर्ता के ईमेल खाते को एक लिंक भेजना। वह लिंक पर क्लिक करता है और उसे आपके सुरक्षित वेब फॉर्म पर रीडायरेक्ट किया जाता है जहां वे पासवर्ड रीसेट करते हैं।

, उपयोगकर्ता

5

आपको ईमेल के माध्यम से पासवर्ड नहीं भेजना चाहिए। यहां एक चरण-दर-चरण प्रक्रिया है जिसका मैंने उपयोग किया है:

  1. उपयोगकर्ताओं को रीसेट पासवर्ड विकल्प दें।
  2. यह विकल्प किसी उपयोगकर्ता के लिए एक अद्वितीय टोकन सहेजता है। टोकन अंततः समाप्त हो जाता है (घंटे, दिन या दिन)।
  3. एक लिंक उस उपयोगकर्ता को ईमेल किया गया है जिसमें टोकन शामिल है।
  4. उपयोगकर्ता ईमेल किए गए लिंक पर क्लिक करता है।
  5. यदि टोकन मौजूद है और की समयसीमा समाप्त नहीं हुई है, तो लिंक एक नया पासवर्ड फ़ॉर्म लोड करता है। यदि नहीं है, तो नया पासवर्ड फॉर्म लोड न करें।
  6. उपयोगकर्ता एक नया पासवर्ड सेट करने के बाद, टोकन हटाएं और उपयोगकर्ता को एक पुष्टिकरण ईमेल भेजें।

नया पासवर्ड सेट होने तक, पुराना पासवर्ड सक्रिय होना चाहिए। हैश को भूलना और पासवर्ड नमक मत भूलना!

संबंधित मुद्दे