نسيت كلمة المرور:ما هي أفضل طريقة تنفيذ نسيت كلمة المرور ؟

StackOverflow https://stackoverflow.com/questions/522967

سؤال

أنا أتساءل ما هي أفضل طريقة لإنشاء "نسيت كلمة المرور" وظيفة على موقع على شبكة الإنترنت.لقد رأيت عدد قليل من هناك ، وهنا عدد قليل أو مزيج من:

  • مرور السؤال / الجواب (1 أو أكثر)
  • ارسال البريد الالكتروني مع كلمة المرور الجديدة
  • على الشاشة تعطي كلمة المرور الجديدة
  • تأكيد عبر البريد الإلكتروني:يجب أن انقر فوق الارتباط للحصول على كلمة المرور الجديدة
  • الصفحة تتطلب من المستخدم إدخال كلمة سر جديدة

ما هي الخطوات الإضافية التي يمكن أن تضيفها إلى نسيت كلمة المرور ؟ أنا أتساءل عن كيفية طلب كلمة المرور الجديدة و كيف أنهم في نهاية المطاف في الحصول عليه.

أنا التشغيل على المدير أن كلمة المرور لا يمكن استردادها ؛ كلمة سر جديدة يجب أن تعطى/ولدت.

تحرير أنا مثل ما كوري قال لا تظهر إذا كان اسم المستخدم موجود ، ولكن أنا أتساءل ما عرض بدلا من ذلك.أنا أفكر نصف المشكلة هو أن المستخدم نسيت عنوان البريد الإلكتروني الذي كانوا التي تظهر نوعا من "غير موجود" رسالة مفيدة.أي حلول ؟

هل كانت مفيدة؟

المحلول

  1. أنا شخصيا إرسال رسالة بريد إلكتروني مع وصلة قصيرة الأجل الصفحة التي تسمح لهم تعيين كلمة مرور جديدة.جعل الصفحة اسم نوع من UID.
  2. إذا كان هذا لا يروق لك ، ثم إرسال كلمة سر جديدة و إجبارهم على تغييره على الوصول الأول أن تفعل كذلك.

الخيار 1 هو أسهل بكثير.

نصائح أخرى

المهم قليل الشواغل الأمنية:

  • عبارة مرور السؤال / الجواب في الواقع يقلل من الأمن لأنه يصبح عادة الحلقة الأضعف في هذه العملية.فإنه غالبا ما يكون من السهل تخمين أحدهم إجابة مما هو عليه كلمة سر خاصة إذا كانت الأسئلة لا يتم اختيارها بعناية.
  • على افتراض رسائل البريد الإلكتروني تعمل مثل اسم المستخدم في النظام الخاص بك (الذي ويوصى عموما لمجموعة متنوعة من الأسباب) ، استجابة إلى طلب إعادة تعيين كلمة المرور يجب أن لا تشير إلى ما إذا كان حساب صالح وجد.يجب ببساطة أن طلب كلمة السر البريد الإلكتروني تم إرسالها إلى العنوان المذكور.لماذا ؟ ردا مشيرا إلى أن البريد الإلكتروني لا/لا توجد يسمح القراصنة إلى الحصاد قائمة حسابات المستخدمين من خلال تقديم عدة طلبات كلمة السر (عادة عن طريق وكيل HTTP مثل التجشؤ جناح) و تلاحظ ما إذا كان البريد الإلكتروني هو العثور عليها.للحماية من الدخول حصاد يجب أن أؤكد تسجيل دخول/مصادقة المهام ذات الصلة تقديم أي إشارة من عند صالح المستخدم البريد الإلكتروني التي تم إدخالها على تسجيل الدخول/تمرير إعادة تعيين شكل.

لمزيد من المعلومات, الخروج تطبيق ويب قراصنة دليل.انها قراءة ممتازة على إنشاء تأمين مصادقة النماذج.

تحرير:بخصوص السؤال في تحرير الخاص بك - أقترح:

"كلمة المرور طلب البريد الإلكتروني تم إرسالها إلى العنوان الذي قدمته.إذا البريد الإلكتروني لا يصل قريبا ، يرجى مراجعة مجلد الرسائل غير المرغوب فيها.لو لا يصل البريد الإلكتروني ، ثم أي حساب موجود مع البريد الإلكتروني الذي قدمته."

هناك المفاضلة هنا بين سهولة الاستخدام والأمن.لديك لتحقيق التوازن هذا على أساس السياق - هو الأمن مهم بما فيه الكفاية و للمستخدمين لتبرير هذا إزعاج ؟

ارسال البريد الالكتروني مع كلمة المرور الجديدة.

قوة تغيير كلمة المرور عند وصولها الرئيسية في المرور الجديدة.

هذا يضمن أن الشخص الذي يريد كلمة السر سوف تكون الوحيدة فقط في الحصول على الحساب.

إذا كان البريد الإلكتروني هو مشموم شخص يمكنه الدخول إلى الحساب (طبعا) لكن الحزب الحقيقي سوف تكتشف هذا على الفور (مثل كلمة المرور التي أرسلت لهم لا يعمل).

أيضا إرسال تأكيدات من تغيير كلمة المرور للمستخدمين.

إذا كان شخص ما الحصول على المرور الجديدة ثم البريد الإلكتروني قائلا "شكرا على تغيير كلمة المرور", أنهم ذاهبون إلى أن تكون بدلا حيرة و سوف نتحدث إلى المشرف إذا لم تفعل ذلك.

استخدام التحقق من البريد الإلكتروني/رابط إعادة تعيين كلمة المرور سوف تعطيك أفضل.إذا كنت ننظر حولنا هكذا معظم المواقع تفعل ذلك و الناس اعتادوا هذا التحقق ، لذلك أنصح باستخدام هذا النوع من المصادقة.

أعتقد (gbrandt هو) الخيار 2 أن تكون طريقة عظيمة إذا كان جنبا إلى جنب مع بعض المعلومات الشخصية لديك بالفعل للمستخدم.أنا.هـ تاريخ الولادة.

عندما يطلب المستخدم كلمة مرور جديدة (إعادة تعيين) عن طريق إدخال عنوان بريده الإلكتروني ، لديه أيضا إلى إدخال تصحيح تاريخ الميلاد (أو شيء آخر) قبل كلمة المرور إعادة تعيين واحدة جديدة عبر البريد الالكتروني للمستخدم.

فقط أولئك الذين يعرفونه جيدا يمكن أن تزعج له طريق إعادة تعيين كلمة السر الخاصة به!فإنه لا يمكن أن يكون غريبا أو بوت

على 5 أو 7 سيئة البريد الإلكتروني-عنوان & تاريخ الميلاد مجموعات المستخدم عبر البريد الالكتروني أن كلمة السر قد طلب إعادة تعيين فشلت بسبب إلى بيانات الاعتماد غير صحيحة.ثم إعادة تعيين كلمة المرور لهذا الحساب مع وقف التنفيذ لمدة 24 ساعة أو أي المطلوب الفترة.

(إذا كان العديد من المستخدمين الاتصال webadmin بشأن هذا البريد الإلكتروني سوف يعرف شخص يحاول ضار بلوغ المعلومات من موقع الويب الخاص بك/التطبيق)

ما رأيكم يا رفاق ؟

الخيار 1.هو لا فكرة جيدة عموما له يصبح تخمينها بسهولة من قبل الآخرين.سارة بالين الشخصية البريد الإلكتروني (ياهو أعتقد) تم اختراق في هذا الطريق من قبل طرف ثالث.

الخيارات الأخرى هي أفضل الوظائف السابقة بينت التفاصيل.

على فكرة كنت أفكر تم التوقيع على بيانات في الارتباط التي يتم إرسالها إلى المستخدم.ثم عندما ينقر المستخدم على الرابط الملقم يتلقى دعوة خادم يحصل أيضا المشفرة الجزء و يمكن التحقق من أن البيانات لم يمسها.

لقد نفذت مشروع جافا عن هذه الحالة استخدام.كان على جيثب, مفتوحة المصدر.فهو يجيب على سؤالك تماما...نفذت في جاوة.

أما بالنسبة الرابط في البريد الإلكتروني - يقوم بإنشاء رابط, بالإضافة إلى صحة ذلك عند الاستخدام.

هناك تفسير لكل شيء (و إذا كان هناك شيء مفقود - اسمحوا لي أن أعرف...)

نظرة: https://github.com/OhadR/Authentication-Flows

ترى التجريبي هنا.

هذا هو عميل ويب التطبيق الذي يستخدم مصادقة التدفقات مع التمهيدي مع كل التفسيرات.فإنه يوجه لك تنفيذ: https://github.com/OhadR/oAuth2-sample/tree/master/authentication-flows

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top