طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 243 · أمن الويب
تقييم الدرس 2

سطح الهجوم: الطلب والاستجابة بعين المهاجم

أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس

أسئلة التقييم

تقييم الدرس 2: سطح الهجوم: الطلب والاستجابة بعين المهاجم. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) أي مما يلي لا يتحكم به مُرسِل الطلب؟
2) ماذا يرد الخادم على هذا الطلب؟
const express = require('express');const app = express();app.use(express.json());app.use(express.urlencoded({ extended: false })); app.get('/echo', (req, res) => {  res.json({    path: req.path,    query: req.query,                 // ما بعد ؟ في الرابط    userAgent: req.headers['user-agent'],    language: req.headers['accept-language'],  });}); app.post('/order', (req, res) => {  res.json({ received: req.body });   // جسم الطلب كما أرسله العميل}); app.listen(3000);
3) أين يجب أن يكون التحقق من المدخلات؟
4) الرمز 404 يُستخدم أحيانًا بدل 403 لكي:
5) «لا تثق بأي شيء من العميل» تعني:

2السؤال الثاني: صح أم خطأ

1) يستطيع المهاجم إرسال طلب HTTP دون استخدام متصفحك أو واجهتك.
الصواب: صح
2) ترويسة Cookie لا يمكن تزويرها.
الصواب: خطأ
3) التحقق في الواجهة بـ JavaScript كافٍ لمنع الهجمات.
الصواب: خطأ
4) رقم الحالة في الاستجابة يصنعه خادمك لا العميل.
الصواب: صح
5) كشف مسار الملف ونسخة المكتبة في رسالة الخطأ يفيد المهاجم.
الصواب: صح

3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة

1) الحقل الذي يلي علامة ؟ في الرابط هو سلسلة .
الإجابة: الاستعلام
2) رمز «ممنوع: مصادَق بلا صلاحية» هو .
الإجابة: 403
3) البيانات القادمة من المتصفح تُعدّ حتى تُفحص.
الإجابة: غير موثوقة

4السؤال الرابع: أسئلة عملية

1) ماذا يرد الخادم على GET /echo?sort=price؟ GET /echo?sort=price

const express = require('express');const app = express();app.use(express.json());app.use(express.urlencoded({ extended: false })); app.get('/echo', (req, res) => {  res.json({    path: req.path,    query: req.query,                 // ما بعد ؟ في الرابط    userAgent: req.headers['user-agent'],    language: req.headers['accept-language'],  });}); app.post('/order', (req, res) => {  res.json({ received: req.body });   // جسم الطلب كما أرسله العميل}); app.listen(3000);
الاستجابة الصحيحة:
{"path":"/echo","query":{"sort":"price"}}
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس