اذهب إلى المحتوى
  • 0

أين يمكنني تخزين jwt

خالد مرتضى

السؤال

Recommended Posts

  • 0

من الممكن تخزينها في الكعكات cookies او المساحة المحلية localStorage, لكل منهما مميزات وعيوب ويمكن المقارنة بينهما كالتالي:

  • هجوم ال csrf : وهو نوع من الهجوم حيث يقوم المخترق بإستخدام كعكاتك في طلب مزيف حتي يحصل على المعلومات التي ليس له صﻻحية عليها, هذا الهجوم من الممكن تنفيذه من الكعكات فهنا نقطة قوة تحسب للمساحة المحلية, ولكن على الرغم من ذلك لم يعد هذا تهديداً كبيراً حيث إن أغلب أطر العمل يقومون بالحماية من هذا التهديد بشكل تلقائى بالإضافة لإمكانية وضع الxsrf-token في الطلب لضمان أنه من مصدر أمن
    {
      "iss": "http://hsoub.com",
      "exp": 1300819380,
      "xsrfToken": "xxxxxx-xxxxxxx-xxxxxxx-xxxxxx"
    }

     

  • هجوم ال xss: فإن الlocalStorage معرضة أكثر لهذا الهجوم, وهو هجوم عبارة عن حقن الموقع بشفرة جافاسكريبت للحصول على معلومات , ولكن الكعكات عند وضع إشارة ال http-only, secure, same-site=strictسيكون من شبه المستحيل تنفيذ الحقن 
  • مقدار البيانات الممكن حملها: حيث أن للكعكات حد أقصى من البيانات 4 كيلو بايت, لا يمكن حمل أكثر من هذا الحجم , بينما المساحة المحلية تستطيع تحمل 5 ميجا بايت والذي يعد فرق شاسع
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

لتخزين jwt هناك خياران:

  • ذاكرة المتصفح 
  • HttpOnly ملف تعريف الارتباط

الخيار الأول هو الخيار الأكثر أمانًا لأن وضع JWT في ملف تعريف ارتباط لا يزيل تمامًا خطر سرقة الرمز المميز. حتى مع ملف تعريف الارتباط HttpOnly ، لا يزال بإمكان المهاجمين المتطورين استخدام XSS و CSRF لسرقة الرموز المميزة أو تقديم طلبات نيابة عن المستخدم.
ومع ذلك ، فإن الخيار الأول ليس دائمًا عمليًا للغاية. وذلك لأن تخزين JWT في حالة React الخاصة بك سيؤدي إلى فقده في أي وقت يتم فيه تحديث الصفحة أو إغلاقها ثم فتحها مرة أخرى. يؤدي هذا إلى ترك انطباع سيئ لدى المستخدم - فأنت لا تريد أن يضطر المستخدمون إلى تسجيل الدخول مرة أخرى في كل مرة يحدّثون فيها الصفحة وستضطر لاستخدام localstorage للتخزين.

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...