CORS Checker بررسی میکند که آیا یک درخواست بینمبدأ از سایت شما توسط سرور مقصد مجاز خواهد بود یا خیر. درخواست preflight (OPTIONS) و درخواست واقعی را اجرا میکند، نتیجه ALLOWED/BLOCKED را گزارش میدهد، و Access-Control-Allow-Origin، Methods، Headers و Credentials را تفکیک میکند تا دقیقاً بفهمید چرا یک درخواست شکست میخورد.
"Blocked by CORS" یکی از گیجکنندهترین خطاها در توسعه مرورگر است — مرورگر بیسروصدا از اجرای درخواست جلوگیری میکند بدون آنکه اطلاعات مفیدی به کد شما برگرداند، و خواندن هدرهای خام CORS کاری خستهکننده است. CORS Checker کل تصویر را روشن میکند. آدرس مقصد، متد HTTP و مبدأیی که میخواهید بهعنوان آن تست کنید (پیشفرض صفحه فعلی شما) را وارد کنید. بهصورت اختیاری هر هدر سفارشی درخواست که قصد ارسال آن را دارید (content-type، authorization و غیره) فهرست کنید. سپس ابزار درخواست preflight OPTIONS را اجرا میکند (بهطور خودکار وقتی درخواست "ساده" نباشد اضافه میشود) و پس از آن درخواست واقعی را اجرا میکند، و هر هدر پاسخ مرتبط با CORS را تحلیل میکند. سپس یک تفکیک قبول/رد ارائه میدهد: آیا Allow-Origin درست تنظیم شده؟ آیا Allow-Methods شامل متد شماست؟ آیا هدرهای سفارشی شما در Allow-Headers هستند؟ آیا Allow-Credentials با پرچم credentials شما مطابقت دارد؟ نتیجه نهایی بدون ابهام است — ALLOWED یا BLOCKED — و فهرست بررسیهای تکبهتک دقیقاً میگوید چه چیزی باید در بکاند اصلاح شود.
زمانی که درخواست preflight OPTIONS اجرا خواهد شد (متدهای غیرساده یا هدرهای سفارشی) را تشخیص میدهد و آن را بهطور خودکار با هدرهای صحیح Access-Control-Request-* اجرا میکند.
هر قانون CORS جداگانه ارزیابی میشود: تطابق مبدأ، متدهای مجاز، هدرهای مجاز، credentials. دقیقاً میبینید کدام بررسی شکست خورده است.
بنر بزرگ سبز ALLOWED یا قرمز BLOCKED در بالای صفحه — دیگر نیازی به خواندن هدرها برای فهمیدن پاسخ نیست.
همه هدرهای پاسخ را از هر دو درخواست preflight و واقعی نشان میدهد، با برجستهسازی هدرهای مخصوص CORS.
وانمود کنید هر مبدأیی هستید، نه فقط صفحه فعلی — مفید برای تست نحوه برخورد با ادغامهای شخص ثالث.
بررسی از پسزمینه افزونه اجرا میشود، بنابراین درخواستهای بینمبدأ توسط سیاست CORS خود صفحه میزبان مسدود نمیشوند.
وقتی فرانتاند شما خطای CORS در کنسول نشان میدهد، از ابزار استفاده کنید تا دقیقاً ببینید کدام هدر در بکاند کم است — بسیار سریعتر از خواندن بخشهای اسپک.
قبل از انتشار یک API عمومی جدید، آن را از ابزار تست کنید تا مطمئن شوید هر ترکیب مورد انتظار مبدأ، متد و هدر کار میکند.
هنگام ادغام با API شخص ثالث، از مبدأ خود با هدرهای برنامهریزیشده تست کنید تا مطمئن شوید درخواست عبور خواهد کرد.
مقدار Access-Control-Max-Age را بررسی کنید تا ببینید مرورگر نتایج preflight را چه مدت کش میکند — مفید هنگام تست پس از تغییر هدرها.
همان تست CORS را روی آدرسهای dev، staging و prod اجرا کنید تا پیکربندیهای نادرست مخصوص هر محیط را قبل از کاربران بگیرید.
روی آیکون CORS در داک DevSuite Pro کلیک کنید. پنلی با فیلدهای URL، متد، مبدأ و هدرها باز میشود.
endpoint API موردنظر برای تست را پیست کنید و متد HTTP (GET، POST، PUT، DELETE و غیره) را انتخاب کنید.
مبدأ بهطور پیشفرض صفحه فعلی است. در صورت تست مبدأ دیگری آن را تغییر دهید. هر هدر سفارشی درخواست را با کاما جدا کرده و فهرست کنید.
ابزار درخواست preflight (در صورت نیاز) و درخواست واقعی را اجرا میکند، سپس نتیجه و بررسیها را نمایش میدهد.
اگر BLOCKED بود، فهرست بررسیهای تکبهتک نشان میدهد چه چیزی در پاسخ سرور کم است. هدر بکاند را اصلاح کنید و دوباره تست کنید.
DevSuite Pro را به صورت رایگان نصب کنید و بیش از ۶۴ ابزار توسعه را برای مرورگر خود باز کنید.