ما هي أفضل طريقة لتنفيذ "تذكرني" على موقع على شبكة الانترنت ؟ [مغلقة]

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

  •  05-07-2019
  •  | 
  •  

سؤال

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

أيضا, هناك أخطاء شائعة لمشاهدة للحفاظ على هذه الكعكة من تقديم الأمن الضعف التي يمكن تجنبها في حين لا يزال يعطي 'تذكرني' وظيفة ؟

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

المحلول

تحسين مستمر تسجيل الدخول كوكي أفضل الممارسات

هل يمكن استخدام هذه الاستراتيجية هو موضح هنا أفضل الممارسات (2006) أو تحديث الاستراتيجية الموضحة هنا (2015):

  1. عندما يقوم المستخدم بنجاح بتسجيل الدخول مع تذكر لي فحص ، تسجيل الدخول كوكي تصدر بالإضافة إلى معيار إدارة الدورة تعريف الارتباط.
  2. تسجيل الدخول يحتوي ملف تعريف الارتباط سلسلة معرف و مميز.سلسلة رمزية هي unguessable أرقام عشوائية من مناسبة مساحة كبيرة.سواء يتم تخزينها معا في جدول قاعدة بيانات ، الرمز هو تجزئته (sha256 على ما يرام).
  3. عند عدم تسجيل الدخول المستخدم بزيارة الموقع يعرض تسجيل الدخول كوكي سلسلة المعرف هو بحثت في قاعدة البيانات.
    1. إذا كان سلسلة معرف هي موجودة و تجزئة المميز مباريات التجزئة أن سلسلة معرف المستخدم يعتبر مصادقة.A رمزية جديدة يتم إنشاء جديد التجزئة رمزية يتم تخزينها على تسجيل جديد تسجيل الدخول كوكي تصدر المستخدم (لا بأس أن إعادة استخدام سلسلة معرف).
    2. إذا كانت سلسلة الحالي لكن المميز لا يتطابق ، سرقة يفترض.يتلقى المستخدم التحذير شديد اللهجة و كل من المستخدم تذكرت جلسات يتم حذفها.
    3. إذا كان اسم المستخدم وكلمة سلسلة ليست موجودة, تسجيل الدخول كوكي تجاهل.

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

نصائح أخرى

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

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

وتخزين معرف المستخدم وعلى RememberMeToken. عندما اتصال مع تذكر لي فحص توليد RememberMeToken الجديد (الذي يبطل أي أجهزة أخرى التي يتم وضع علامة وتذكر لي).

عند عودتهم البحث عنها من قبل تذكر لي رمز والتأكد من المباريات معرف المستخدم.

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

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

4 طرق سرقة الكوكيز الخاصة بك (من تعليق من قبل ينس رولاند على الصفحة @splattne يعتمد الجواب على):

  1. عن طريق اعتراض عليه أكثر من خط غير مؤمن (علبة استنشاق / اختطاف الجلسة)
  2. قبل الوصول مباشرة إلى متصفح المستخدم (عن طريق البرامج الضارة أو الوصول المادي إلى مربع)
  3. عن طريق القراءة من قاعدة بيانات ملقم (ربما حقن SQL, ولكن يمكن أن يكون أي شيء)
  4. قبل XSS هاك (أو مماثلة من جانب العميل استغلال)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top