في عالم تطوير الويب، يعتبر ضمان الاتصال الآمن بين تطبيق الواجهة الأمامية وواجهة برمجة التطبيقات الخلفية أمرًا بالغ الأهمية. يساهم مشاركة الموارد عبر الحدود (CORS) كآلية أمان حيوية تحكم كيفية تعامل متصفحات الويب مع الطلبات المقدمة إلى مجال مختلف عن ذلك الذي قدم الصفحة الويب الأولية.
تعرف على المزيد حول Apidog من خلال النقر على الزر أدناه!
فهم واختبار تكوينات CORS بشكل فعال أمر ضروري لتطوير واجهات برمجة التطبيقات بدون مشاكل. تتناول هذه المقالة مفهوم اختبار CORS في Postman، مما يجهز المطورين بفهم شامل لكيفية الاستفادة من هذه الوظيفة ضمن منصة تطوير واجهة برمجة التطبيقات الشعبية.
ما هو CORS؟
مشاركة الموارد عبر الحدود (CORS) هي مفهوم أمني على الويب تنفذه متصفحات الويب للتخفيف من المخاطر الأمنية المحتملة المرتبطة بطلبات عبر الحدود. بشكل افتراضي، تمنع المتصفحات صفحة ويب من تقديم طلبات إلى مجال مختلف عن ذلك الذي قدّم الصفحة. وهذا يمنع السكربتات الخبيثة من مجال واحد من الوصول إلى بيانات حساسة في مجال آخر.
العناصر الرئيسية لـ CORS
المصدر
المصدر لطلب ما هو مزيج من ثلاثة أجزاء: البروتوكول (مثل https)، اسم المضيف (مثل www.example.com)، ورقم المنفذ (غالبًا 80 لحركة المرور الويب القياسية). إنه يحدد المكان الذي يأتي منه الطلب. على سبيل المثال، https://www.example.com:8080 هو سلسلة مصدر مكتملة.
طلبات التحليق المسبق
بالنسبة لبعض طرق HTTP التي تعتبر "احترازية" (مثل OPTIONS، GET، HEAD)، قد ترسل المتصفحات طلب تحليق مسبق (OPTIONS) قبل الطلب الفعلي. يعمل هذا الطلب ككشاف، يسأل الخادم إذا كانت الطلب المحدد مسموح به.
رؤوس CORS
يمكن للخوادم تضمين رؤوس HTTP محددة في استجابتها للإشارة إلى ما إذا كان الطلب عبر الحدود مسموحًا به. تحدد هذه الرؤوس جوانب متنوعة من التفاعل المسموح به:
- Access-Control-Allow-Origin: تحدد هذه الرأس أي المجالات مسموح لها بالوصول إلى المورد. يمكن أن يكون مجال معين (مثل
https://www.example.com
) أو حرف للوايلد كارد (*
) للسماح بجميع المجالات (وهذا يعزف عنه عادة لأسباب أمنية). - Access-Control-Allow-Methods: تحدد هذه الرأس طرق HTTP (GET، POST، PUT، DELETE، الخ) المسموح بها لطلبات CORS.
- Access-Control-Allow-Headers: تحدد هذه الرأس أي حقول رأس HTTP يمكن تضمينها في رؤوس طلبات CORS (مثل
Content-Type
،Authorization
). - Access-Control-Allow-Credentials: تشير هذه الرأس إلى ما إذا كانت بيانات الاعتماد (مثل الكوكيز أو رموز التفويض) يمكن تضمينها في طلبات CORS. يتم تعيين القيمة عادةً إلى
true
أوfalse
.
طلبات بسيطة مقابل طلبات التحليق السابق
استنادًا إلى طريقة HTTP، والرؤوس المستخدمة، ووجود بيانات الاعتماد، يمكن تصنيف طلبات CORS على أنها طلبات بسيطة أو طلبات تحليق مسبق. الطلبات البسيطة لا تؤدي إلى طلب تحليق مسبق، في حين أن الطلبات المحلقة مسبقًا تفعل، مما يضمن أن الخادم يسمح بذلك النوع من التفاعل عبر الحدود.
أغراض اختبار CORS
يستخدم اختبار CORS للتحقق من كيفية تعامل متصفح الويب مع الطلبات المقدمة إلى مجال مختلف (مصدر) عن ذلك الذي قدم الصفحة الويب الأولية. وهذا يضمن أن الموارد يتم الوصول إليها بشكل آمن وكما هو مطلوب. إليك تفصيل لأغراضه الرئيسية:
ضمان إمكانية وصول واجهات برمجة التطبيقات
تعتمد تطبيقات الويب الحديثة في كثير من الأحيان على واجهات برمجة التطبيقات المستضافة على مجالات منفصلة. يساعد اختبار CORS المطورين في التأكد من أن تطبيق الواجهة الأمامية الخاص بهم (الذي يعمل على مجال واحد) يمكنه الوصول بنجاح والتفاعل مع واجهة برمجة التطبيقات الخلفية (على مجال مختلف) دون مواجهة قيود CORS.
تصحيح مشكلات CORS
إذا واجه تطبيق الواجهة الأمامية مشكلات عند استرجاع البيانات من واجهة برمجة التطبيقات الخلفية، فقد تكون تكوينات CORS غير صحيحة هي السبب. يساعد اختبار CORS في تحديد هذه المشكلات من خلال محاكاة الطلبات من منظور الواجهة الأمامية وتحليل رؤوس استجابة الخادم.
التحقق من تكوين CORS
عند تكوين CORS على خادم خلفي، يوفر اختبار CORS وسيلة للتحقق مما إذا كانت الرؤوس مضبوطة بشكل صحيح. يمكن للمطورين إجراء اختبارات مع مجالات مختلفة، وطرق، ورؤوس للتأكد من أن الخادم يستجيب بشكل مناسب وفقًا لسياسة CORS المطلوبة.
منع الثغرات الأمنية
يمكن أن تؤدي تكوينات CORS غير الصحيحة إلى إدخال ثغرات أمنية. من خلال اختبار CORS، يمكن للمطورين تحديد نقاط الضعف المحتملة والتأكد من أن المجالات المصرح لها فقط يمكنها الوصول إلى الموارد الحساسة.
دليل خطوة بخطوة حول اختبار CORS في Postman
الخطوة 1 - إنشاء حساب في Postman
أولاً، ستحتاج إلى إنشاء حساب جديد في Postman (فقط إذا لم يكن لديك واحد.) و تحميل تطبيق Postman على جهازك. يوفر التطبيق فائدة أكبر مقارنةً بإصدار الويب الخاص به.

الخطوة 2 - إنشاء طلب API جديد على Postman

بمجرد تثبيت Postman، قم بإنشاء طلب جديد من خلال النقر على زر New
في الزاوية العلوية اليسرى من نافذة Postman. اختر HTTP Request
لإنشاء طلب جديد كما هو موضح في الصورة أعلاه.
الخطوة 3 - إدخال طريقة API والتفاصيل
بعد ذلك، تحتاج إلى تضمين تفاصيل طلب API الذي ترغب في إنشائه. يجب أن يتضمن مكونات مثل عنوان URL، طرق HTTP، والمعلمات الإضافية التي ستحتاجها واجهة برمجة التطبيقات.

الخطوة 4 - تكوين رأس طلب API

في قسم Headers
، أضف رأسًا جديدًا مع مفتاح Key
باسم "Origin" والقيمة كعنوان URL الأساسي. سيتم استخدام قيمة Key
"Origin" هذه لمحاكاة الرأس المرسل من المتصفح أثناء الطلب عبر الحدود.
الخطوة 5 - عرض رأس استجابة API

يمكنك أخيرًا التحقق من رؤوس CORS ذات الصلة في قسم الرؤوس كما هو موضح في الصورة أعلاه.
Apidog - قم بتشغيل اختبار CORS والمزيد
Apidog هي منصة ممتازة لتطوير واجهة برمجة التطبيقات تتيح لك بناء، واختبار، ومحاكاة، وتوثيق واجهات برمجة التطبيقات. يتمتع Apidog أيضًا بقدرة على توفير حالات اختبار متعددة الخطوات - سيناريوهات الاختبار - لضمان أن واجهات برمجة التطبيقات الخاصة بك تعمل بسلاسة.

اختبار واجهات برمجة التطبيقات باستخدام Apidog

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

استخدام سيناريوهات الاختبار لواجهة برمجة التطبيقات الخاصة بك باستخدام Apidog
هل تريد اختبار واجهة برمجة التطبيقات الخاصة بك كما هو مستخدم في المواقف اليومية؟ تتيح لك ميزة سيناريو اختبار Apidog إنشاء سيناريوهات اختبار معقدة، محاكاة التفاعلات الواقعية.

أولاً، اضغط على زر Testing
، يلي ذلك زر + New Test Scenario
.

سوف يطلب منك Apidog ملء التفاصيل بشأن سيناريو الاختبار الجديد الخاص بك. تأكد من إعطائه اسمًا مناسبًا ليكون وظيفته متوقعة.

تابع بإضافة خطوة (أو المزيد من الخطوات) إلى سيناريوهات الاختبار الخاصة بك من خلال النقر على قسم Add Step
. يجب أن تكون قادرًا على رؤية الصورة أدناه.

حدد "استيراد من API" من القائمة المنسدلة.

بعد ذلك، حدد جميع واجهات برمجة التطبيقات التي تود تضمينها في سيناريو الاختبار الخاص بك. في المثال أعلاه، تمت إضافة واجهة برمجة التطبيقات المسماة NumberConversionSOAP
.

قبل الضغط على زر Run
لبدء سيناريو الاختبار الخاص بك، تأكد من تغيير بيئة سيناريو الاختبار، والتي ينبغي أن تكون Testing Env
، كما أشار السهم 1.

من خلال تحليل أداء واجهة برمجة التطبيقات الخاصة بك، يمكنك الحصول على رؤى قيمة حول نقاط القوة والضعف فيها. هذه المعرفة أساسية لاتخاذ قرارات مستنيرة حول كيفية تحسين واجهة برمجة التطبيقات الخاصة بك في المرحلة التالية من التطوير.
خاتمة
يمكن اختبار CORS في Postman تمكين المطورين من أداة سهلة الاستخدام وفعالة لضمان اتصال سلس بين تطبيقات الواجهة الأمامية وواجهات برمجة التطبيقات الخلفية. من خلال فهم أساسيات CORS والاستفادة من قدرات اختبار Postman، يمكن للمطورين تبسيط سير العمل في التطوير، وتحديد وتصحيح تكوينات CORS غير الصحيحة، وفي النهاية بناء تطبيقات ويب آمنة وموثوقة.
من خلال تكوين واختبار CORS بشكل صحيح، يمكن للمطورين ضمان أن واجهات برمجة التطبيقات الخاصة بهم تعمل كما هو مطلوب، ملتزمة بآليات الأمان الخاصة بالمتصفح وتمكين الوصول غير المقيد من المجالات المصرح بها. من خلال اتباع الخطوات الموضحة في هذه المقالة ودمج اختبار CORS باستخدام Postman في عملية تطويرهم، يمكن للمطورين تعزيز تجربة تطوير الويب بشكل أكثر أمانًا وكفاءة.