it-swarm.dev

كيف تعمل مصادقة ملف تعريف الارتباط؟

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

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

157
Mastid

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

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

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

سيحفظ المتصفح ملفات تعريف الارتباط التي حددها الخادم. في رأس HTTP لكل طلب يقدمه المتصفح إلى ذلك الخادم ، سيضيف ملفات تعريف الارتباط. سيضيف فقط ملفات تعريف الارتباط للنطاقات التي تحددها. يمكن لـ Example.com تعيين ملف تعريف ارتباط وإضافة خيارات في رأس HTTP للمتصفحات لإرسال ملف تعريف الارتباط مرة أخرى إلى النطاقات الفرعية ، مثل sub.example.com. لن يكون من المقبول بالنسبة للمتصفح إرسال ملفات تعريف الارتباط إلى مجال مختلف.

131
Conor Patrick

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

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

الخطوة 1: العميل> التسجيل

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

الخطوة 2: الخادم> معالجة الاشتراك

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

الخطوة 3: العميل> تسجيل دخول المستخدم

الآن يسجل المستخدم دخولك. يقوم/توفر اسم المستخدم/كلمة المرور الخاصة به ومرة ​​أخرى ، يتم نشر هذا كطلب HTTP إلى الخادم.

الخطوة 4: الخادم> التحقق من صحة تسجيل الدخول

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

الخطوة 5: الخادم> إنشاء رمز وصول

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

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

من الآن فصاعدا ، سيتم إرفاق ملفات تعريف الارتباط بكل طلب (والاستجابة) المقدمة بين العميل والخادم.

الخطوة 6: العميل> تقديم طلبات الصفحة

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

هذا يجب عليك ان تبداء. تأكد من محو ملفات تعريف الارتباط عند تسجيل الخروج!

220
pllx

المصادقة المستندة إلى ملف تعريف الارتباط

تعمل مصادقة ملفات تعريف الارتباط المعتمدة بشكل طبيعي في هذه الخطوات الأربع

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

  4. بمجرد تسجيل خروج المستخدم من التطبيق ، يتم إتلاف الجلسة من جانب العميل ومن جانب الخادم.

11
Debendra Dash