سؤال

بالنظر إلى ملفات تعريف الارتباط الخاصة بـ Gmail، من السهل معرفة ما تم تخزينه في ملف تعريف الارتباط "تذكرني".اسم المستخدم/رمز الوصول لمرة واحدة.يمكن تنفيذه بشكل مختلف في الحالات التي يكون فيها اسم المستخدم سريًا أيضًا.لكن مهما يكن...الشيء ليس أمانًا عاليًا جدًا:قمت بسرقة ملف تعريف الارتباط وأنت على استعداد للذهاب.

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

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

المحلول

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

تقليديًا، يتم استخدام المهلة، وتنتهي صلاحية ملف تعريف الارتباط بعد فترة زمنية معينة (أو عندما يقوم المستخدم بتسجيل الخروج).

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

ضع في اعتبارك أيضًا إمكانية رفض الخدمة - إذا كان الإجراء الذي يتم على أحد الأجهزة يمكن أن يجبر جهازًا آخر على أن يكون غير قابل للاستخدام، فيمكن استخدام ذلك لمنع مستخدم شرعي من استعادة السيطرة في سيناريوهات معينة.

نصائح أخرى

يجب ألا يؤدي تسجيل الدخول من جهاز آخر إلى إبطال تسجيل الدخول المرتبط بملف تعريف الارتباط على جهاز مختلف.ولكن إذا قام المستخدمون بتسجيل الخروج أو "لست أنت؟"تسجيل الدخول هنا" يجب أن يؤدي هذا إلى مسح ملف تعريف الارتباط الذي يعمل عليه المستخدم.

بالمناسبة، يمكن أن تكون سرقة ملف تعريف الارتباط أمرًا صعبًا، من خلال الإصرار على https وجعله غير مخصص للبرمجة النصية.

بإضافة "؛HttpOnly" عند إخراج ملف تعريف الارتباط الخاص بك، سيؤدي ذلك إلى جعل ملف تعريف الارتباط غير متاح لجافا سكريبت على سبيل المثال.

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
Set-Cookie: ASP.NET_SessionId=ig2fac55; path=/; HttpOnly
X-AspNet-Version: 2.0.50727
Set-Cookie: user=t=bfabf0b1c1133a822; path=/; HttpOnly
X-Powered-By: ASP.NET
Date: Tue, 26 Aug 2008 10:51:08 GMT
Content-Length: 2838

يمكنك قراءة المزيد عن هذا

يجب أن يحدد ملف تعريف الارتباط "تذكرني" الجهاز أيضًا.يجب أن يكون مرتبطًا بالجهاز لأن هناك أماكن تريد أن تتذكرها وأماكن أخرى لا تريد أن تتذكرها (المنزل مقابل العمل).

يتم تعيين تاريخ انتهاء الصلاحية عادةً على فترة معقولة (أسبوعين) أو بعد قيام المستخدم بتسجيل الخروج بشكل صريح من الجهاز،

ما سأفعله هو ربط كل جلسة بعنوان IP.إذا تم إرسال رمز الجلسة من عنوان IP مختلف عن عنوان IP الخاص بك، فارفضه.

يجب أن تكون رموز الوصول خاصة بـ IP بحيث لا يمكن نقلها بسهولة عبر الأجهزة.

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

المواقع التي تختار إيقاف رمز مميز بمجرد إنشاء رمز جديد على كمبيوتر آخر - تختار عدم وصول مستخدميها إلى خدمتها على أجهزة كمبيوتر متعددة - أو إذا فعلوا ذلك - فإن استخدامها يبرر جعلهم يسجلون الدخول مرة أخرى.

تعتمد السياسة التي تستخدمها حقًا على البيانات التي تحتفظ بها واحتياجات المستخدم.

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