1. متوسط

    ما الفرق بين خوارزميات التوقيع المتناظرة (HS256) وغير المتناظرة (RS256) في رموز JWT بـ Node.js؟

    HS256 تستخدم نفس المفتاح السري المشترك للتوقيع والتحقق، بينما RS256 تستخدم مفتاحاً خاصاً للتوقيع ومفتاحاً عاماً متاحاً للجميع للتحقق.

    اقرأ الشرح الكامل
  2. متقدم

    كيف تطبق استراتيجية تدوير رموز التحديث (Refresh Token Rotation) والتخزين الآمن في ملفات تعريف الارتباط؟

    يخزن الـ Refresh Token في Cookie محمية بـ HttpOnly وSameSite، ومع كل استخدام يُبطل الرمز الحالي ويولد زوج جديد، وإذا استُخدم رمز ملغى يُحظر كامل سجل المستخدم.

    اقرأ الشرح الكامل
  3. مبتدئ

    لماذا لا يجب أبداً استخدام دوال SHA-256 لتشفير كلمات المرور ولماذا يفضل Argon2 أو bcrypt؟

    دوال SHA سريعة ومصممة للتجزئة العامة مما يسهل كسرها بمليارات المحاولات على كروت الشاشة، بينما bcrypt وArgon2 دوال بطيئة عن قصد ومقاومة لهجمات الـ GPU والذاكرة.

    اقرأ الشرح الكامل
  4. متوسط

    كيف تحدث هجمات تزوير الطلبات عبر المواقع (CSRF) وكيف تحمي تطبيقات Node.js منها؟

    تحدث عندما يجبر موقع خبيث متصفح الضحية على إرسال طلب غير مصرح به لموقعك مع الكوكيز الخاصة به؛ وتتم الحماية برمز CSRF Token المزدوج وخاصية SameSite=Lax/Strict.

    اقرأ الشرح الكامل
  5. مبتدئ

    ما هي سياسة تقاسم الموارد عبر الأصول (CORS) وما هي طلبات الفحص المسبق (Preflight Requests)؟

    CORS هي آلية أمان تطبقها المتصفحات لمنع المواقع الخارجية من قراءة بياناتك؛ وطلب الـ Preflight هو طلب OPTIONS يرسله المتصفح قبل الطلب الفعلي للتحقق من السماح بالعملية.

    اقرأ الشرح الكامل
  6. مبتدئ

    ما هي حزمة Helmet وما الترويسات الأمنية الأساسية التي تضيفها لتطبيق Node.js؟

    مكتبة وسيطة تضيف ترويسات أمان قياسية مثل Content-Security-Policy، Strict-Transport-Security، X-Frame-Options، وتخفي ترويسة X-Powered-By.

    اقرأ الشرح الكامل
  7. متقدم

    ما هي ثغرة تلوث النموذج الأولي (Prototype Pollution) في JavaScript وكيف تتجنبها في Node.js؟

    ثغرة تسمح للمهاجم بحقن خصائص خبيثة في كائن Object.prototype العام عبر كائنات مدمجة بعمق تحتوي على __proto__ مما يفسد سلوك التطبيق بالكامل.

    اقرأ الشرح الكامل
  8. مبتدئ

    كيف تدير المتغيرات البيئية والأسرار (Secrets) بأمان في مشاريع Node.js؟

    تحفظ في متغيرات النظام البيئية (process.env) دون كتابتها في الكود أو رفعها للـ Git، مع التحقق من وجودها عند الإقلاع باستخدام مخطط صارم.

    اقرأ الشرح الكامل
  9. متقدم

    ما هي هجمات التوقيت (Timing Attacks) ولماذا يجب استخدام crypto.timingSafeEqual لمقارنة الرموز الحساسة؟

    هجمات تقيس وقت استجابة السيرفر بالنانوثانية لمعرفة كم حرفاً تطابق قبل الفشل؛ وتمنعها timingSafeEqual بمقارنة البايتات في زمن ثابت دائماً.

    اقرأ الشرح الكامل
  10. متوسط

    كيف تحمي مشروع Node.js من هجمات سلاسل التوريد (Supply Chain Attacks) في منظومة npm؟

    باستخدام npm audit، وتثبيت النسخ الصريحة، وتفعيل --ignore-scripts، وفحص التبعيات بأدوات التحليل الساكن، والاعتماد على قفل الحزم الموثوق.

    اقرأ الشرح الكامل