CORS policies چیست

CORS policies چیست

 CORS مخفف  Cross-Origin Resource Sharing هست، و به سیاست‌هایی اشاره داره که مشخص می‌کنن یک مرورگر اجازه داره از یک دامنه (origin) به منابعی در یک دامنه دیگه درخواست ارسال کنه یا نه.

📌 چرا CORS وجود داره؟

به دلایل امنیتی، مرورگرها به صورت پیش‌فرض اجازه نمی‌دن که اسکریپت‌هایی که از یک منبع (مثلاً site-a.com) بارگذاری شدن، به منابع محافظت‌شده در منبعی دیگه (مثلاً  api.site-b.com) دسترسی داشته باشن.

این یعنی بدون تنظیمات CORS، مرورگر جلوی درخواست‌هایی مثل  fetch(‘https://api.site-b.com/data’) از دامنه‌ی  site-a.com رو می‌گیره.

📤 سیاست‌های CORS یعنی چی؟

سروری که قراره به درخواست پاسخ بده باید با هدرهایی خاص اعلام کنه که اجازه این نوع درخواست رو می‌ده.

مثلاً این هدرها:

Access-Control-Allow-Origin: https://site-a.com

Access-Control-Allow-Methods: GET, POST, OPTIONS

Access-Control-Allow-Headers: Content-Type

اگر این هدرها وجود داشته باشن، مرورگر اجازه می‌ده درخواست انجام بشه.

🛑 بدون CORS چه اتفاقی می‌افته؟

اگر CORS تنظیم نشده باشه یا محدود باشه:

  • مرورگر درخواست رو ارسال می‌کنه (گاهی با روش  OPTIONS که بهش  preflight می‌گن).
  • اما اگر پاسخ سرور شامل هدرهای درست نباشه، مرورگر پاسخ رو بلاک می‌کنه.

راه‌حل برای توسعه‌دهندگان:

  • در سمت سرور، باید هدرهای  Access-Control-* رو اضافه کنن.
  • در فریم‌ورک‌هایی مثل Node.js/Express، PHP، Django یا Laravel، این کار خیلی رایجه.
  • برای تست محلی هم می‌شه از افزونه‌های مرورگر یا پراکسی‌ها استفاده کرد.
اسکرول به بالا

نام کاربری و رمز عبور خود را برای ورود به پنل کاربری خودتان وارد کنید