كيف تؤمن المواقع ملفات الكوكيز ؟ طلب للنقاش

السلام عليكم

من المعلومات ان يتم ارسال ملف كوكيز مع عملية تسجيل دخول المستخدم للموقع

ويتم حفظ هذه المعلومة بالمتصفح، في هذه الحالة هل تكون بيانات المستخدم في مأمن من السرقة ؟

بالطبع كما يقول الكثيرون لا.

فيأتي السؤال كيف يمكن حفظ هذه البيانات بحيث لو حصل احد على ملف الكوكيز لا يمكنه طلب بيانات المستخدم ؟

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


عند تسجيل الدخول يتم حفظ رمز فريد في الكوكيز، (هذا الرمز هو رقم الجلسة session على السيرفر) (وهذا الرمز الفريد هو فقط رقم عشوائي غير متكرر)

عند تكرار الزيارة بدلا من إعادة تسجيل الدخول يتم فقط إرسال هذا الرمز إلى الموقع ليعرف الموقع أنه سبق لك تسجيل الدخول

إذا سرق شخص آخر هذا الرمز فسيستطيع إنتحال شخصيتك بالنسبة للموقع

يمكن سرقة الكوكيز في حالتين

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

لجعل هذا الرمز الفريد مرتبط جيدا بالمستخدم الأصلي وصعب الإستخدام في جهاز آخر

يمكن حفظ بلد المستخدم و ip و نسخة المتصفح و نوع الجهاز

وبالتالي عندما تتم سرقة الرمز سيصعب على السارق توفير جميع الشروط

ولكن بالنهاية تبقا المسؤولية على عاتق الموقع والمستخدم معا لتجنب سرقة هذا الرمز

بخصوص الحالتين هل يوجد ثالث لهما ؟ يعني عملية ان يكون شخص بمنتصف الاتصال هل يمكنه سرقة الكوكيز ؟

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

ولكن يبقى السؤال كيف تؤمن الشركات حسابات مستخدميها ( هل بهذه الطريقة فقط ) ؟

إن كان الموقع يستخدم https فلا يمكن لشخص في منتصف الإتصال قراءة الكوكيز لأنها تكون مشفرة.

لا أعلم ما تفعل الشركات الكبرى

لكن مثلا نظام إدارة المحتوى ووردبريس المشهور الذي تستخدمه مجموعة كبيرة من المواقع

يعتمد فقط على الرمز الفريد دون إضافة معلومات أخرى إليه وهذا الرمز إسمه PHPSESSID

وهو الرمز الإفتراضي في php