ربط التطبيق بالبيانات
مُقدَّم| English | المعنى |
|---|---|
| parameterised query/ˌpærəˈmetəraɪzd ˈkwɪərɪ/ | استعلام مُعَمَّم |
يمكن لمعرف صحيح أن يطلب بيانات خاصة
- قد يكون معرف الطالب عددًا صحيحًا صالحًا ولا يزال ينتمي لشخص آخر. لا ينبغي أن يسمح التحقق من صحة المدخلات وحده بفتح قائمة دورات خاصة.
- لهذا المسار، قد يقرأ طالب تم التحقق منه قائمة الخاصة به فقط. حدد هوية المُدْعِي وفرض تلك السياسة قبل جلب الصفوف الخاصة.
رقم الطالب المُقدم له النوع الصحيح. ما الذي يجب التحقق منه بعد للبحث الخاص؟
Difficulty 1/5 · 100 coins + a small bonus on first completion today
الشكل الصحيح لا يضمن الوصول.
احصل فقط على الصفوف والحقول المسموحة
- الاستعلام المعتمد على المعاملات يربط معرف الطالب المسموح به كبيانات. حدد فقط الحقول التي تحتاجها الواجهة، مثل معرف الدورة والعنوان.
- لا تحمّل السجلات الخاصة لكل طالب وتخفي غير المرغوب فيها في المتصفح. قد يفحص المستلم الاستجابة الكاملة.
لماذا يجب عدم إرسال السجلات الخاصة بكل طالب وإخفاؤها عبر تصفية المتصفح فحسب؟
Difficulty 1/5 · 100 coins + a small bonus on first completion today
فرض الوصول إلى البيانات الخاصة على الخادم قبل إرجاع الصفوف.
عرّف استجابات الفراغ والرفض
- في هذا العقد، يتلقى الطالب المسموح الذي لا يوجد لديه دورات 200 و
[]. مورد غير موجود أو مُدْعٍ مرفوض يتبع سياسة API المتفق عليها. - تستخدم بعض السياسات 404 لتجنب كشف الوجود الخاص. حافظ على هذه السياسة بشكل متسق؛ لا تستخدم استجابة نجاح لإخفاء فشل قاعدة بيانات غير متوقع.
في ظل عقد الخدمة هذا، يوجد طالب مسموح له ولكنه لا يملك دورات. ما هو الرد المناسب؟
Difficulty 1/5 · 100 coins + a small bonus on first completion today
قائمة فارغة ناجحة هي نتيجة محددة مسبقًا، وليست فشلًا في قاعدة البيانات.
اعرض الاستجابة دون إحداث حالات مربكة
- عند النجاح، اعرض عناوين الدورات المحددة كنص. أظهر "لا توجد دورات بعد" فقط بعد استجابة فارغة ناجحة.
- أثناء التحميل، أشر إلى أن الطلب قيد الانتظار. عند الفشل، اشرح أنه لم يمكن تحميل القائمة وقدم إعادة محاولة مناسبة؛ لا تدعي أن القائمة فارغة.
اكتب رسائل منفصلة لقائمة فارغة ناجحة وطلب فاشل.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
"لا توجد دورات بعد" يختلف عن "تعذر تحميل الدورات. حاول مرة أخرى."
طابق تقدم الاستجابة مع العرض.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
اعرض فقط ما تدعمه النتيجة المرصودة.
تعامل مع التغيير دون حفظه جزئيًا
- عملية الكتابة التي تتضمن عدة تغييرات مرتبطة بقاعدة البيانات قد تحتاج إلى معاملة: قم بتأكيد التغييرات المقصودة معًا أو تراجع عنها عند الفشل.
- تحقق من صحة وصلاحية الكتابة بشكل مستقل. لا يُلزم القراءة الناجحة في وقت سابق كل تغيير لاحق، ولا يجعل قيمة القائمة المنسدلة آمنة للصقها في SQL.
قيمة القائمة المنسدلة آمنة للصقها في SQL لأن المستخدمين لا يمكنهم إرسال قيم أخرى.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
يمكن للمتصلين إرسال طلبات معدلة. قم بربط القيمة والتحقق منها على الخادم.
قد تتطلب الكتابة ذات الصلة عملية تبادلية حتى لا تترك الفشل نصف التغييرات المقصودة محفوظة.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
يمكن للعملية التبادلية تنفيذ المجموعة المقصودة أو إلغائها؛ لكن التحقق والصلاحيات لا يزالان مطلوبة.
مراجعة الرحلة المسموحة بالكامل
- تتبع الهوية والصلاحيات → المدخلات الصالحة → البحث المعامل → الاستجابة المحددة → العرض الصادق. اختبر الوصول المرفوض قبل التحقق من العرض.
- استخدم ثوابت لـ قائمة عادية، وقائمة فارغة، وطلب فاشل. تأكد من غياب الحقول الخاصة وصفوف الطلاب الآخرين من الاستجابات المسموحة.
الاستعلام الصحيح هو جزء من المسار الصحيح. يجب أن يتفق المُدعِي، والبيانات المسموحة، وعقد الاستجابة، والحالة المرئية أيضًا.
رتّب عملية قائمة الدورات المسموحة هذه.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
تسبق فحوصات الخادم الاسترجاع والتسليم.