سؤال

لقد قمنا بتنفيذ نظام مشابه للنظام الموصوف في هذا آخر بعد post. في الأساس ، إذا لم يفعل المستخدم أي شيء لمدة 14 دقيقة ، فإننا نطالبهم بتسجيل الدخول. إذا نقروا على "تبقيني تسجيل الدخول" ، فإننا نقوم بطلب AJAX للحفاظ على جلستهم على قيد الحياة ، وإلا ، يتم إعادة توجيههم إلى صفحة تسجيل الخروج بعد دقيقة.

إنه يعمل بشكل جيد ، وهو متمرس مع أنظمة مماثلة تستخدم في مواقع مثل Mint.com و Bankofamerica.com. المشكلة الوحيدة هي أن مستخدمي تطبيقنا يميلون إلى فتح علامات تبويب متعددة للإشارة ذهابًا وإيابًا إلى أجزاء مختلفة من البيانات. وبالتالي فإن المشكلة هي أنهم قد يعملون بنشاط في علامة تبويب واحدة ، ولكن بعد ذلك تدوين علامة التبويب الأخرى وتسجيلها. هذا يسبب مهلة جلسة مفاجئة للمستخدم عندما لا يتوقعون ذلك. راجع للشغل ، Mint.com لديه نفس المشكلة.

لذلك كنت أتساءل عما إذا كان لدى أي شخص أي أفكار لمكافحة هذا؟

لدي فكرة واحدة ، يمكن لكل طلب تعيين ملف تعريف ارتباط "آخر وقت نشط". عند السحب التلقائي ، يمكن للخادم التحقق من هذا الوقت النشط الأخير ، وإذا كان حديثًا نسبيًا ، فتجنب تسجيلها. بالطبع سيتجاهل تسجيل الخروج اليدوي ملف تعريف الارتباط هذا ، لذا إذا أراد المستخدم تسجيل الخروج ، فيمكنه القيام بذلك في أي وقت. ومع ذلك ، أخشى أن هذا قد يعرض نوعًا من مخاطر الأمان التي لا أستطيع رؤيتها في هذه المرحلة. أفكار؟

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

المحلول

قبل إظهار المنبثقة ، اسأل الخادم منذ متى قام المستخدم بطلبه الأخير.

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