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

الوحدة 6 · اختبار واجهات البرمجة

المصادقة والتحقق من الطلبات

اختبر من يحق له استدعاء واجهة البرمجة وما يجب أن ترفضه.

نحو 10 دقيقة قراءة و10 دقيقة تطبيق (تقديرات)

جارٍ تحميل التقدم…

اقرأ

أهداف التعلّم

  • التمييز بين المصادقة والتفويض، وبين 401 و403.
  • تصميم اختبارات سلبية للإدخال غير الصالح.
  • التحقق من أن مستخدماً لا يستطيع قراءة بيانات مستخدم آخر أو تغييرها.

الشرح

  • المصادقة تسأل: من أنت؟ — عادةً عبر ملف جلسة أو رمز Bearer في ترويسة Authorization. وغياب بيانات الاعتماد أو عدم صلاحيتها ← 401.
  • التفويض يسأل: ما المسموح لك؟ مستخدم معروف لكنه غير مسموح له ← 403. وكثير من الواجهات تعيد 404 بدلاً من ذلك لتجنب كشف وجود مورد يخص شخصاً آخر.
  • التحقق: يجب أن يفحص الخادم كل حقل — الإلزامية والنوع والطول والنطاق والصيغة — وأن يرد برمز 4xx واضح (غالباً 400 أو 422) دون تغيير أي شيء.

يستحق الوصول عبر الحسابات اختبارات خاصة به: سجّل الدخول بصفة المستخدم أ، ثم حاول قراءة طلب المستخدم ب أو تغييره بتعديل المعرّف في العنوان. وهذه الفئة من الأخطاء (تُسمى غالباً IDOR) شائعة وخطيرة. ولا تختبرها إلا على أنظمة مصرّح لك باختبارها.

مثال: اختبارات سلبية لإنشاء طلب شراء

الطلبالمتوقع
بدون ترويسة Authorization401، ولا يُنشأ أي طلب
رمز صالح، والكمية "two" (نص)400/422 مع تسمية الحقل
الكمية 11 (الحد الأقصى 10)400/422، ولا يُحفظ شيء
غياب الحقل الإلزامي "address"400/422 مع تسمية الحقل
رمز المستخدم أ، وGET /v1/orders/{معرّف طلب المستخدم ب}403 أو 404، ولا بيانات من ب
٦١ طلباً في دقيقة (إذا كان الحد ٦٠)429 مع ترويسة Retry-After، إن كانت موثقة

أخطاء شائعة

  • الاختبار برمز مشرف صالح فقط.
  • فحص رمز الحالة دون التأكد من عدم حفظ أي شيء.
  • وضع رموز حقيقية في لقطات الشاشة أو البلاغات.

جرّب

تدرّب على ما قرأته للتو. تُفحص الإجابات هنا، ولا يُقيَّم شيء علناً ولا يُحتسب في ساحة الأخطاء.

تمرين

طلب لتحديث طلب شراء يأتي من مستخدم مسجّل الدخول لا يملك ذلك الطلب. ما الاستجابات المقبولة؟ اختر كل ما ينطبق.

اختر كل ما ينطبق.

راجع

اختبر نفسك — يجب أن تكون الآن قادراً على:

  • التمييز بين المصادقة والتفويض، وبين 401 و403.
  • تصميم اختبارات سلبية للإدخال غير الصالح.
  • التحقق من أن مستخدماً لا يستطيع قراءة بيانات مستخدم آخر أو تغييرها.

مراجع

تابع

عندما تكون مستعداً، ضع علامة الإكمال على الدرس في خطوة «جرّب» ثم انتقل إلى التالي.

يُوسم بأنه مقروء عندما تصل إلى نهاية الدرس.