HTTP من الداخل
الطلب والرد: الهيدرز، الكوكيز، الأكواد — وأيش يعني 'الكود بيرجع من الخادم'.
كل ثغرة ويب لازم تفهمها على مستوى الطلب والرد. الحين بنشوفهم حرفيًا.
POST /login HTTP/1.1
Host: shop.example
Content-Type: application/x-www-form-urlencoded
Cookie: session=abc123
user=ali&pass=123456
---
HTTP/1.1 302 Found
Set-Cookie: session=xyz789; HttpOnly; Secure
Location: /accountأكواد لازم تعرفها
- 200 OK: نجح.
- 301/302: إعادة توجيه (بعد الدخول مثلاً).
- 401: ما عرّفت مينك. 403: عرفت مينك بس ممنوع.
- 404: ما في شي. 500: الخادم وقع — أحياناً يكشف معلومات.
- 502/503: وسيط أو الخادم الخلفي مش شغال.
401 مقابل 403 سؤال مقابلة شهير: 401 = 'مينك؟'، و403 = 'عارفك، بس لأ'.
الكوكيز: هويتك
Set-Cookie: session=xyz789; HttpOnly; Secure; SameSite=Strict
# HttpOnly → الجافاسكربت ما يقدر يسرقو
# Secure → يمشي بس مع HTTPS
# SameSite → ما يروح مع طلبات من مواقع تانيةالثغرة الأشهر: كوكي الجلسة بدون HttpOnly → سكربت مزروع يقدر يسرقو. نفس الثغرة مع HttpOnly → تصير أقل خطورة بكثير.
خلّينا نطبّق خطوة بخطوة
ملف الجلسة الصغير يساعد الموقع على تذكرك بعد الدخول. سنضيف له وسائل حماية مختلفة.
بكلمات بسيطة: الخيار الأول يمنع قراءة ملف الجلسة من تعليمات الصفحة؛ الثاني يشترط اتصالاً مشفراً؛ الثالث يقيّد إرساله مع طلبات من مواقع أخرى.
الخطوة 1 من 2
اقرأ صف الجلسة في الجدول قبل تحديد الخيارات.
ليش؟ لنقارن الخطر قبل الحماية وبعدها.
شو لازم تشوف؟ تجد وصف الخطر «مرتفع».
اختبار سريع
اقرأ السؤال واضغط الإجابة التي تراها صحيحة. يظهر تحتها سبب الإجابة؛ وإذا أخطأت، اقرأ السبب وغيّر اختيارك. يُسجّل الدرس مكتملًا عندما تصح كل إجاباتك.
403 أيش تعني؟
كوكي بدون HttpOnly أيش يعرّضو؟