منشئ ومدقق رؤوس CORS

مطور
إعلان · حذف؟

أصل

قائمة مفصولة بفواصل للمصادر المسموح بها

الأساليب المسموح بها

الترويسات المسموح بها

قائمة مفصولة بفواصل لترويسات الطلب المسموح بها

خيارات

مدة تخزين المتصفحات لنتائج الطلبات المسبقة (الافتراضي: 86400 = 24 ساعة)
الترويسات التي يمكن للمتصفح الوصول إليها من الاستجابة

مقتطفات كود الخادم

إعلان · حذف؟

مرشد

منشئ ومدقق ترويسات CORS

منشئ ومدقق رؤوس CORS

قم ببناء ترويسات CORS (Cross-Origin Resource Sharing) الصحيحة باستخدام مُكوِّن مرئي. قم بتعيين المصادر المسموح بها، والأساليب، والترويسات، والبيانات الموثقة، ثم احصل على ترويسات HTTP المولدة ومقتطفات الكود الجاهزة للاستخدام لـ Express.js، و Nginx، و Apache، و Django، و FastAPI، و Flask، و Go. يلتقط التحقق في الوقت الفعلي أخطاء تكوين CORS الشائعة قبل وصولها إلى بيئة الإنتاج.

كيفية استخدام

قم بتكوين سياسة CORS الخاصة بك باستخدام عناصر التحكم في النموذج: اختر وضع المصدر (بدل، مصادر محددة، أو عكس)، وحدد أساليب HTTP المسموح بها، وأضف الترويسات المسموح بها، ومكّن البيانات الموثقة إذا لزم الأمر. تقوم الأداة بتوليد ترويسات Access-Control-* الصحيحة على الفور، وتعرض تحذيرات التحقق من الأخطاء الشائعة، وتوفر مقتطفات كود جاهزة للنسخ لـ 7 أطر عمل للخادم. استخدم قسم شرح CORS لتحديث سريع حول كيفية عمل CORS.

خصائص

  • مُكوِّن CORS المرئي — قم بتعيين Access-Control-Allow-Origin (بدل، مصادر محددة، أو عكس)، والأساليب (GET/POST/PUT/PATCH/DELETE/OPTIONS/HEAD)، والترويسات المخصصة، والبيانات الموثقة، والحد الأقصى للوقت، والترويسات المكشوفة.
  • توليد الترويسات في الوقت الفعلي — شاهد ترويسات استجابة CORS الكاملة وترويسات الطلب المسبق (OPTIONS) يتم تحديثها فورًا أثناء التكوين.
  • 7 مقتطفات لأطر عمل الخادم — كود جاهز للنسخ لـ Express.js، و Nginx، و Apache (.htaccess)، و Django (django-cors-headers)، و FastAPI (CORSMiddleware)، و Flask (flask-cors)، و Go (net/http). يتم إنشاء كل مقتطف ديناميكيًا من التكوين الخاص بك — فقط انسخ والصق في مشروعك.
  • التحقق من التكوين — تحذيرات ملونة تلتقط أخطاء CORS الشائعة: بدل + بيانات موثقة (غير صالح)، ترويسة Content-Type مفقودة مع POST، أسلوب OPTIONS مفقود للطلب المسبق، الحد الأقصى للوقت قصير يزيد حركة مرور الطلب المسبق.
  • أزرار إضافة الترويسات السريعة — أزرار بنقرة واحدة للترويسات الشائعة: Content-Type، Authorization، X-Requested-With، Accept، Origin.
  • ترويسات الطلب المسبق — عرض منفصل لترويسات استجابة الطلب المسبق (OPTIONS) عندما تختلف عن ترويسات CORS العادية.
  • شرح CORS — مرجع قابل للطي يغطي الطلبات البسيطة مقابل الطلبات المسبقة، وما الذي يؤدي إلى الطلب المسبق، ودور كل ترويسة، ولماذا يعتبر استخدام البيانات الموثقة + البدل أمرًا غير صالح.

ترويسات CORS مشروحة

Access-Control-Allow-Origin: أي المصادر يمكنها الوصول إلى المورد. يسمح البدل (*) للجميع، أو حدد المصادر الدقيقة.
Access-Control-Allow-Methods: ما هي أساليب HTTP المسموح بها للطلبات عبر المصادر.
Access-Control-Allow-Headers: ما هي ترويسات الطلب التي يُسمح للعميل بإرسالها.
Access-Control-Allow-Credentials: ما إذا كان يجب على المتصفح تضمين ملفات تعريف الارتباط/المصادقة. لا يمكن استخدامه مع مصدر البدل.
Access-Control-Max-Age: مدة تخزين المتصفحات لنتائج الطلبات المسبقة (بالثواني).
Access-Control-Expose-Headers: ما هي ترويسات الاستجابة التي يمكن للمتصفح الوصول إليها من JavaScript.

إعلان · حذف؟

ما هو CORS ولماذا أحتاجه؟

CORS (Cross-Origin Resource Sharing) هو آلية أمان للمتصفح تتحكم في المواقع التي يمكنها إجراء طلبات إلى خادمك. بشكل افتراضي، تمنع المتصفحات الطلبات عبر المصادر (على سبيل المثال، الواجهة الأمامية الخاصة بك على app.example.com التي تتصل بواجهة برمجة التطبيقات الخاصة بك على api.example.com). تخبر ترويسات CORS المتصفح بالمصادر والأساليب والترويسات المسموح بها. بدون تكوين CORS الصحيح، ستعمل واجهة برمجة التطبيقات الخاصة بك من خادم إلى خادم ولكنها ستفشل عند استدعائها من متصفح — وهي واحدة من أكثر المشكلات شيوعًا في تطوير الويب.

لماذا لا يمكنني استخدام البدل (*) مع البيانات الموثقة؟

عندما تكون Access-Control-Allow-Credentials صحيحة، يتطلب المتصفح من الخادم تحديد المصدر الدقيق — وليس البدل (*). هذا إجراء أمني: إذا قال خادم 'يمكن لأي مصدر الوصول إلى هذا المورد مع البيانات الموثقة (ملفات تعريف الارتباط، رموز المصادقة)'، فسيسمح ذلك لأي موقع بإجراء طلبات مصادق عليها نيابة عن المستخدم. تفرض المتصفحات هذا القيد لمنع سرقة البيانات الموثقة. بدلاً من البدل، استخدم وضع 'عكس المصدر' — يقرأ الخادم ترويسة المصدر للطلب ويعيدها إذا كانت ضمن القائمة المسموح بها.

ما هو الطلب المسبق؟

الطلب المسبق هو طلب OPTIONS تلقائي ترسله المتصفحات قبل بعض الطلبات عبر المصادر للتحقق مما إذا كان الخادم يسمح بها. يتم تشغيل الطلب المسبق عندما: يستخدم الطلب أساليب غير GET/HEAD/POST، يتضمن ترويسات مخصصة (مثل Authorization)، أو يستخدم قيم Content-Type غير بيانات النموذج أو النص العادي. يجب على الخادم الرد على OPTIONS بالترويسات المناسبة لـ Access-Control-Allow-*. إذا فشل الطلب المسبق، يقوم المتصفح بحظر الطلب الفعلي. تتحكم ترويسة Access-Control-Max-Age في مدة تخزين المتصفحات لنتائج الطلبات المسبقة.

مقتطف كود أي خادم يجب أن أستخدم؟

اختر بناءً على تقنية الواجهة الخلفية الخاصة بك: Express.js لواجهات برمجة التطبيقات Node.js، و Nginx للخوادم الوكيل العكسي/ملفات الخادم الثابتة، و Apache لمشاريع الاستضافة التقليدية (.htaccess)، و Django لمشاريع Python Django (تستخدم حزمة django-cors-headers)، و FastAPI لواجهات برمجة تطبيقات Python الحديثة (CORSMiddleware مدمجة)، و Flask لتطبيقات Python Flask (تستخدم flask-cors)، و Go لخوادم Go net/http. يتم إنشاء كل مقتطف من التكوين الدقيق الخاص بك — فقط انسخه والصقه في مشروعك. لنشر الحاويات، قد تحتاج إلى تكوين CORS على مستوى الوكيل العكسي (Nginx/Apache) بدلاً من مستوى التطبيق.

هل تريد حذف الإعلانات؟ تخلص من الإعلانات اليوم

تثبيت ملحقاتنا

أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع

أضف لـ إضافة كروم أضف لـ امتداد الحافة أضف لـ إضافة فايرفوكس أضف لـ ملحق الأوبرا

وصلت لوحة النتائج!

لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!

إعلان · حذف؟
إعلان · حذف؟
إعلان · حذف؟

ركن الأخبار مع أبرز التقنيات

شارك

ساعدنا على الاستمرار في تقديم أدوات مجانية قيمة

اشتري لي قهوة
إعلان · حذف؟