تغيير بريد تسجيل الدخول: تعديل للملف الشخصي أم إجراء لحماية الحساب؟
تعامل مع تغيير البريد المسجّل لحساب العميل بوصفه إجراءً مستقلاً لحماية الحساب، لا تعديلاً عادياً لحقل اتصال. حدّد كيف يثبت الشخص سيطرته على الحساب، وكيف يؤكّد العنوان الجديد، وما الذي يصل إلى العنوان القديم، ومتى يصبح التغيير نافذاً. ويجب أن تميّز الواجهة بوضوح بين طلب التغيير واكتماله.
يتناول هذا الدليل عميلاً سجّل دخوله ويريد تغيير عنوانه المسجّل. أما نسيان كلمة المرور، أو فقدان وسيلة المصادقة الإضافية، أو استعادة الحساب بعد فقدان الوصول إلى البريد، فتحتاج إلى إجراءات منفصلة. هذا ليس وصفاً أمنياً شاملاً ولا ضماناً بمنع جميع الهجمات.
أي عنوان بريد تقصد؟
قد يحتوي النظام على عنوان لتسجيل الدخول، وآخر لاستلام الفواتير، وعنوان اتصال ضمن سجل العميل. قبل تصميم النموذج، قرّر إن كانت هذه أغراضاً منفصلة فعلاً أم استخدامات مقصودة لحقل واحد، وحدّد أيها ستغيّره الميزة.
في مثال افتراضي، قد يريد العميل إرسال الفواتير إلى قسم المحاسبة من دون إعطائه السيطرة على حساب الدخول. هذا قرار يخص جهة استلام الرسائل، وليس بالضرورة تغييراً لهوية الحساب. لا تربط الأمرين لمجرد أن التصميم الأول لقاعدة البيانات استخدم عموداً واحداً.
إذا كان تسجيل الدخول يعتمد على موفّر هوية خارجي، فاسأل المطوّر عن الجهة التي تملك العنوان المعتمد، وعن التغييرات التي تستطيع بوابتك تنفيذها فعلاً. لا تَعِد بأن تعديل ملف محلي سيغيّر هوية يديرها نظام آخر.
اجعل العنوان الجديد معلّقاً أولاً
توصي ورقة إرشادات المصادقة من OWASP بالتحقق من صلاحية ملف تعريف الارتباط أو رمز المصادقة، وشرح الإجراء، واستقبال عنوان جديد يوافق قواعد النظام، ثم حفظه كتغيير معلّق. وتختلف خطوات التحقق والرسائل بحسب تفعيل المصادقة متعددة العوامل.
حوّل ذلك إلى متطلب مفهوم للعميل: اعرض العنوان الحالي والعنوان المقترح بصورة منفصلة، واذكر الخطوة التي ما زالت مطلوبة. عبارة «طُلب التأكيد» لا تعني «تغيّر بريد تسجيل الدخول». اتفق أيضاً على العنوان الذي يظل صالحاً للدخول خلال فترة الانتظار، واطلب عرض هذا السلوك عملياً؛ لا يفترض هذا الدليل طريقة عمل منتج بعينه.
ناقش ما يحدث إذا بدأ العميل طلباً ثانياً قبل إكمال الأول. من الخيارات المعقولة إلغاء صلاحية الطلب السابق وإيضاح أن الطلب الأحدث وحده قابل للإكمال. هذا اقتراح تصميم، وليس ادعاءً بأن OWASP تفرض هذه القاعدة تحديداً.
لا تختصر مسارَي التأكيد في خطوة واحدة
للحساب الذي يستخدم المصادقة متعددة العوامل، توصي OWASP باستخدامها للتحقق من الهوية، وإرسال إشعار إلى العنوان الحالي، وطلب تأكيد من العنوان الجديد. ويتضمن إشعار العنوان الحالي وسيلة للإبلاغ عن نشاط غير متوقّع.
أما الحساب الذي لا يستخدم المصادقة متعددة العوامل، فتوصي له بطلب كلمة المرور الحالية، ثم تأكيدين منفصلين من العنوان الحالي والعنوان المقترح. رسالة العنوان القديم في هذا المسار ليست مجرد إشعار.
هذه توصيات من OWASP، وليست حكماً قانونياً أو دليلاً على اتباع جميع الموفّرين لها. اطلب توثيق المسار المختار وتفسير أي اختلاف عنه. ويجب أن تشرح الرسائل للعميل ما يحتاجه حسابه من خطوات، من دون كشف تفاصيل تقنية حساسة.
يوصي القسم نفسه باستخدام قيم تحقق مؤقتة محدودة الصلاحية تُسمّى nonces. اطلب من المطوّر تحديد مدة صلاحية روابط التأكيد وتوثيقها واختبارها. لا تستنتج من المصدر مدة موحّدة تصلح لكل التطبيقات.
حدّد نهاية للطلبات غير المكتملة أو غير المتوقعة
ما الذي يحدث إذا أخطأ العميل في كتابة العنوان الجديد، أو لم تصله الرسالة، أو انتهت صلاحية الرابط، أو تراجع عن طلبه؟ يحتاج الطلب المعلّق إلى حالة واضحة وطريقة متفق عليها للإلغاء أو البدء مجدداً. ولا ينبغي لرابط منتهي الصلاحية أو تابع لطلب استُبدل أن يغيّر العنوان لاحقاً بصمت.
ويحتاج الإبلاغ عن تغيير غير متوقّع إلى مسؤولية تشغيلية واضحة. حدّد أين يصل البلاغ، وما الذي يظهر للعميل، وكيف يتعامل الموظفون معه من دون طلب كلمات المرور أو روابط التأكيد. وضع رابط في رسالة تحذير لا يغني عن إجراء دعم يتولى أحد متابعته.
إذا فقد العميل الوصول إلى صندوق البريد الحالي، فلا تطلب من الموظف اعتبار تأكيده منجزاً يدوياً. استخدم إجراء استعادة منفصلاً ومعتمداً. وتشير OWASP أيضاً إلى أهمية التزام موظفي الدعم بالإجراءات المحددة والتعرّف إلى محاولات الهندسة الاجتماعية. رواية مقنعة عبر الهاتف ليست بديلاً عن التحقق المتفق عليه من الهوية.
اطلب عرض العملية من بدايتها إلى نهايتها
استخدم حسابات وصناديق بريد مخصصة للاختبار وتحت السيطرة اللازمة، لا حسابات عملاء حقيقيين. الاختبارات المقترحة التالية تجعل السلوك قابلاً للملاحظة، لكنها لا تثبت أمان النظام كله:
- لا يمكن لجلسة غير صالحة أو غائبة بدء التغيير، سواء من الواجهة أو باستدعاء مباشر.
- يُطلب التحقق متعدد العوامل أو كلمة المرور الحالية وفق المسار المختار.
- يظهر العنوان المقترح كتغيير معلّق، ولا يستبدل العنوان الحالي سراً.
- تكون رسالة العنوان الحالي إشعاراً في مسار المصادقة متعددة العوامل، وطلب تأكيد في المسار الآخر، بحسب التصميم الموثّق.
- لا يكفي تأكيد العنوان الجديد لإكمال تغيير من دون مصادقة متعددة العوامل إذا كان تأكيد العنوان القديم ما زال ناقصاً.
- لا يمكن إكمال طلب منتهي الصلاحية أو ملغى أو مستبدل بطلب أحدث.
- تعرض الحالة النهائية البريد المسجّل بوضوح، ويتوافق تسجيل الدخول مع السلوك المتفق عليه.
- يوجد إجراء محدد للنشاط غير المتوقع وفقدان الوصول إلى البريد، من دون تجاوز غير رسمي للخطوات.
أدرج السلوك المختار في معايير قبول تطبيق الويب. واسأل أيضاً عن مصير جلسات الدخول الأخرى والأنظمة المتصلة عند اكتمال التغيير. تحتاج هذه الآثار إلى قرارات صريحة؛ القسم المحدد المستشهد به هنا لا يحسمها كلها.
أسئلة تحدد نطاق التطوير
هل يمكن أن يغيّر النموذج نفسه بريد استلام الفواتير؟
نعم، إذا كان ذلك مقصوداً ومشروحاً بوضوح. افصل الغرضين في وصف المتطلبات حتى لو عرضت الواجهة الإجرائين معاً.
هل تؤدي إعادة تعيين كلمة المرور إلى تغيير البريد المسجّل أيضاً؟
لا تفترض ذلك. تعيين كلمة مرور جديدة وتغيير عنوان الحساب إجراءان مختلفان. اطلب كليهما بصورة صريحة إذا احتجت إليهما.
ماذا لو كان موفّر الهوية يقدّم الميزة بالفعل؟
اطلب عرض المسار الذي يدعمه فعلاً، بما فيه الحالات المعلّقة والرسائل وحدود الاستعادة. تجنّب إنشاء ميزة محلية موازية توحي بتغيير العنوان بينما تبقى الهوية المعتمدة بلا تغيير. يمكنك مناقشة حدود هذا التكامل ضمن تطوير تطبيقات الأعمال.
المصدر وحدود الاستشهاد
OWASP Authentication Cheat Sheet، قسم «Changing A User's Registered Email Address»: https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#changing-a-users-registered-email-address. يدعم المصدر توصيات المسارين مع المصادقة متعددة العوامل ومن دونها، وحفظ التغيير معلّقاً، وقيم التحقق محدودة الصلاحية، وإرشادات إجراءات الدعم. أما فصل حقول البريد واستبدال الطلبات السابقة وصياغة الواجهة والعروض العملية، فهي إرشادات لطلب التطوير، وليست نتائج لاختبار نظام منفّذ.