در حال بارگذاری...
تست پیکربندی Cross-Origin Resource Sharing (CORS) برای اطمینان از اینکه منابع فقط به دامنههای مجاز اجازه دسترسی میدهند.
اهداف این درس
Cross-Origin Resource Sharing (CORS) مکانیزمی است که به مرورگر اجازه میدهد منابع را از دامنههای مختلف بارگذاری کند. این مکانیزم با هدرهای HTTP پیکربندی میشود.
مکانیزمی که به مرورگر اجازه میدهد منابع را از دامنههای مختلف بارگذاری کند.
| هدر | توضیح | خطر |
|---|---|---|
| Access-Control-Allow-Origin | دامنههای مجاز | بالا |
| Access-Control-Allow-Credentials | ارسال کوکیها | بسیار بالا |
| Access-Control-Allow-Methods | روشهای مجاز | متوسط |
| Access-Control-Allow-Headers | هدرهای مجاز | متوسط |
هدرهای CORS در پاسخهای HTTP را بررسی کنید.
1// ارسال درخواست با Origin جعلی2GET /api/data HTTP/1.13Host: target.com4Origin: https://attacker.com56// بررسی پاسخ7Access-Control-Allow-Origin: https://attacker.com8Access-Control-Allow-Credentials: true910// اگر هر دو هدر وجود داشته باشد،11// مهاجم میتواند دادهها را سرقت کند.هشدار
هرگز Access-Control-Allow-Origin: * را با Access-Control-Allow-Credentials: true تنظیم نکنید.
توصیه عملی
از لیست سفید دامنهها برای CORS استفاده کنید و Origin را در سمت سرور بررسی کنید.
هرگز از Access-Control-Allow-Origin: * با credentials استفاده نکنید.
دامنههای مجاز باید بهصورت دقیق مشخص شوند.
Access-Control-Allow-Credentials خطرناک است.
CORS فقط در مرورگر اعمال میشود.
کدام پیکربندی CORS خطرناک است؟
CORS چیست و چرا مهم است؟
CORS مکانیزمی است که به مرورگر اجازه میدهد منابع را از دامنههای مختلف بارگذاری کند. پیکربندی ناامن آن میتواند منجر به سرقت داده شود.
چرا Access-Control-Allow-Origin: * خطرناک است؟
زیرا به تمام دامنهها اجازه دسترسی به منابع را میدهد.