إعادة إنتاج المشكلة:
-
فعّل إعداد الموقع
hide email address taken، والذي يكون معطلاً عادةً، ويُوصف بأنه: “لا تُخبر المستخدمين بوجود حساب مرتبط بعنوان بريد إلكتروني معين أثناء التسجيل أو من نموذج نسيت كلمة المرور.” -
من جلسة متصفح جديدة، حاول تسجيل الدخول باستخدام
مع عنوان بريد إلكتروني، وقم بتوفير اسم مستخدم غير صالح، مثل codinghorror.
السلوك المتوقع
يظهر نص رسالة الخطأ من إحدى السلاسل النصية التالية، دون الإفصاح عن وجود أو عدم وجود حساب.
js.email_login.complete_email:
إذا كان هناك حساب مطابق لـ codinghorror@example.com، فستتلقى بريدًا إلكترونيًا يحتوي على رابط تسجيل الدخول قريبًا.
js.email_login.complete_username:
إذا كان هناك حساب مطابق لـ codinghorror، فستتلقى بريدًا إلكترونيًا يحتوي على رابط تسجيل الدخول قريبًا.
السلوك الفعلي
يُشير نص رسالة الخطأ بشكل غير صحيح إلى وجود تطابق إيجابي، حتى في حال عدم وجود تطابق.
js.email_login.complete_email_found:
لقد وجدنا حسابًا مطابقًا لـ codinghorror@example.com، فستتلقى بريدًا إلكترونيًا يحتوي على رابط تسجيل الدخول قريبًا.
js.email_login.complete_username_found:
لقد وجدنا حسابًا مطابقًا لاسم المستخدم codinghorror، فستتلقى بريدًا إلكترونيًا يحتوي على رابط تسجيل الدخول قريبًا.
تعليق
على الرغم من أن هذه الآلية تعمل بشكل صحيح في عملية “إعادة تعيين كلمة المرور”، إلا أنه يبدو أنه يجب تطبيق نفس المنطق في سير عمل تسجيل الدخول عبر البريد الإلكتروني.