انتقل إلى محتوى الدرس

Browser MIME Sniffing تخمين نوع الملف MIME Sniffing

تعرّف بعمق هندسي على أنواع الوسائط (MIME Types) وحقل الرأس Content-Type في HTTP: بنية النوع الرئيسي والفرعي، وترميز UTF-8، والفرق بين Accept وContent-Type، ومقارنة صيغ النماذج، والحماية من تخمين النوع عبر nosniff.
6 صفوف تعليمية
تكنولوجيا الويب
2 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

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

غير أن هذا التخمين فتح ثغرة أمنية خطيرة تُعرف باسم هجوم التباس النوع ()؛ إذ يمكن للمهاجم رفع ملف نصي أو صورة تحتوي بداخلها على كود ، فإذا قام المتصفح بتخمين المحتوى وتجاهل حقل الرأس فسيُنفّذ السكربت الخبيث داخل حساب الضحية!

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

جرّب المحاكي الأمني التفاعلي الآتي لاختبار الفرق بين غياب وتفعيل :

الصف 2 معاينة حية
الصف 3 كود برمجي
Shell
curl -I https://www.closetag.com/tutorials/web-technology/http-overview

HTTP/2 200
content-type: text/html; charset=UTF-8
x-content-type-options: nosniff
cache-control: no-cache, private
الصف 4 ملاحظة هامة
الصف 5 ملاحظة هامة
الصف 6 ملاحظة هامة
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

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

ماذا تعلّمت في هذا الدرس؟

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