كيف تعمل؟
تعمل معظم واجهات الويب البرمجية عبر بروتوكول HTTP. يرسل العميل، مثل تطبيق الجوال، طلبًا إلى عنوان يسمى نقطة النهاية (Endpoint)، مع أسلوب يحدد المطلوب: قراءة أو إنشاء أو تعديل أو حذف. يتحقق الخادم من هوية الطالب وينفذ العمل ثم يردّ برمز حالة وبيانات، غالبًا بصيغة JSON. ومن الأساليب الشائعة REST وGraphQL.
| الجزء | المعنى | مثال |
|---|---|---|
| نقطة النهاية | العنوان الذي تستدعيه | /orders |
| الأسلوب | الإجراء المطلوب | GET للقراءة وPOST للإنشاء |
| المصادقة | إثبات هوية المستدعي | رمز يُرسل مع الطلب |
| الاستجابة | رمز الحالة والبيانات | الرمز 200 وقائمة بصيغة JSON |
أين تصادف الواجهات البرمجية؟
نموذج الدفع يستدعي واجهة مزوّد الدفع. ونظام إدارة المحتوى المنفصل يقدم المحتوى لموقعك عبر واجهة برمجية. وتشترك تطبيقات الجوال والمواقع الخاصة بك عادةً في واجهة خلفية واحدة، فتعرض كلها البيانات نفسها.
كيف تحمي الواجهة؟
الواجهة البرمجية باب إلى نظامك، فتحتاج إلى العناية نفسها التي تحتاجها أي شاشة. تحقق في كل طلب من أن المستدعي مسموح له بالوصول إلى هذا السجل تحديدًا، لا أن يكون مسجّل الدخول فقط. وتحقق من المدخلات، وحدّد عدد الطلبات المسموح بها، وأعد الحقول التي يحتاجها العميل فقط. وتسرد قائمة OWASP Top 10 وقائمة OWASP المخصصة لأمن الواجهات البرمجية أشهر نقاط الضعف. ويغطي دليل تطوير التطبيقات الآمنة المنهج الأشمل.
أخطاء شائعة
- التحقق من تسجيل الدخول دون التحقق من الملكية، فيقرأ مستخدم بيانات غيره بمجرد تغيير رقم المعرّف.
- إرجاع سجلات قاعدة البيانات كاملة بينما يحتاج التطبيق إلى ثلاثة حقول.
- تغيير الواجهة دون إصدارات، فتتعطل التطبيقات المستخدمة فعلًا.
- ترك الواجهة بلا توثيق، فيتحول كل تكامل إلى تخمين.