رفع خطای CORS در برنامههای Laravel
خطای CORS (Cross-Origin Resource Sharing) یک محدودیت امنیتی در مرورگرها است که جلوی درخواستهای HTTP از منابع مختلف را میگیرد. این خطا ممکن است زمانی رخ دهد که سعی کنید از یک دامنه یا پورت متفاوت به سروری دیگر درخواست ارسال کنید، و معمولاً با پیام خطایی شبیه به Access-Control-Allow-Origin در مرورگر مواجه خواهید شد. در ادامه، به رفع این خطا در فریمورکهای مختلف، پرداخته شده است:
برای حل این مشکل میتوانید از راه حلهای قرار داده شده، استفاده کنید.
استفاده از پکیج laravel-cors
در ابتدا، کافیست تا با اجرای دستور زیر، این پکیج را در پروژه خود، در لوکال، نصب کنید:
البته اگر که به خطای conflict برخورد کردید؛ کافیست تا پکیجهای قدیمی مربوطه با ورژن barryvdh یا fruitcake را با اجرای دستور مثال زیر، حذف کرده و مجدداً آن را نصب کنید:
در ادامه، بایستی، یک middleware به نام HandleCors در ابتدای property به نام middleware$ در فایل app/Http/Kernel.php با محتوای زیر، اضافه کنید:
تمامی کارها انجام شده است و کافیست دستور زیر را اجرا کنید تا مقادیر پیشفرض مربوط به CORS در مسیر config/cors.php برایتان قرار بگیرد و پس از آن، میتوانید این مقادیر را بنا به نیاز خود، تغییر دهید:
همچنین بخوانید: مستندات مربوط به پکیج laravel-cors
تنظیم فایل htaccess.
کافیست تا وارد فایل public/.htaccess شوید و تنظیمات مربوط به CORS را به پروژه خود اضافه کنید: