تخطَّ إلى المحتوى

٣٠ يونيو ٢٠٢٦

حل مشكلة CORS error (blocked by CORS policy) بالعربي

خطأ CORS من أكثر ما يربك مطوّري الويب، ويظهر هكذا في وحدة التحكّم:

Access to fetch at 'https://api.example.com' from origin
'http://localhost:3000' has been blocked by CORS policy

لنفهمه ونحلّه بالطريقة الصحيحة.

ما هو CORS ولماذا يحدث؟

CORS اختصار لـ Cross-Origin Resource Sharing. هو إجراء أمان في المتصفّح يمنع صفحةً على نطاق من قراءة بيانات من نطاق آخر، إلّا إذا سمح الخادم بذلك.

المتصفّح يسأل الخادم: "هل تسمح لهذا الموقع بقراءة بياناتك؟" فإن لم يجد إذنًا صريحًا، يحجب الردّ ويظهر خطأ CORS.

نقطة مهمّة: المشكلة ليست في كودك الأمامي، بل في أن الخادم لم يرسل ترويسة الإذن.

الحلّ الصحيح: من جهة الخادم (Backend)

أضف ترويسة Access-Control-Allow-Origin في الخادم.

في Node.js / Express

import cors from "cors";
app.use(cors({ origin: "https://your-site.com" }));

يدويًّا بترويسة صريحة

res.setHeader("Access-Control-Allow-Origin", "https://your-site.com");
res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");

للتجربة فقط يمكن استخدام * للسماح للجميع، لكن لا تستخدمه في الإنتاج — حدّد نطاقاتك الموثوقة.

ماذا لو لم تملك الخادم؟

إذا كنت تستهلك API خارجيًّا لا تتحكّم فيه:

  • استخدم خادمًا وسيطًا (Proxy) خاصًّا بك يطلب البيانات ويمرّرها لواجهتك.
  • بعض الإطارات توفّر proxy للتطوير المحلّي.

جدول سريع

الوضعالحلّ
تملك الخادمأضف ترويسة Access-Control-Allow-Origin
لا تملك الخادمأنشئ Proxy وسيط
الإنتاجحدّد الأصول الموثوقة فقط (لا *)

الخلاصة

CORS ليس عطلًا بل حماية. حلّه يكون في الخادم بالسماح لأصلك صراحةً، أو عبر proxy وسيط. تجنّب تعطيله من المتصفّح.

تعرّف على بناء الخوادم مع Node.js.

الأسئلة الشائعة

ما معنى خطأ CORS؟

CORS (مشاركة الموارد عبر الأصول) هو إجراء أمان في المتصفّح يمنع موقعك من طلب بيانات من نطاق (domain) مختلف ما لم يسمح الخادم بذلك صراحةً.

أين أحلّ مشكلة CORS؟

تُحلّ من جهة الخادم (Backend) بإضافة ترويسة Access-Control-Allow-Origin، وليس من جهة الواجهة الأمامية. المتصفّح هو من يفرض القيد.

هل أعطّل CORS من المتصفّح؟

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

اقرأ أيضًا

تصفّح كل المقالات في المدوّنة، أو ابدأ التعلّم من المسارات و خرائط الطريق.