یک سرور ساده Node.js با استفاده از Express بسازید که مدیریت CORS را انجام دهد و فقط درخواستهای فرانتاند از آدرس مشخص (مثلاً http://localhost:3000) را مجاز کند و هدرهای لازم برای preflight را ارسال نماید.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:29 0.0
برای حل این سوال از JavaScript و Node.js با فریمورک Express استفاده کنید؛ میتوانید بسته آماده cors را نصب و پیکربندی کنید یا با نوشتن یک middleware دستی هدرهای Access-Control-Allow-Origin، Access-Control-Allow-Methods و Access-Control-Allow-Headers را تنظیم کنید و به درخواستهای OPTIONS پاسخ مناسب بدهید. نکات: اگر از بسته cors استفاده میکنید از app.use(cors({ origin: 'http://localhost:3000', methods: ['GET','POST'], credentials: true })) بهره ببرید؛ در حالت دستی یک middleware بنویسید که برای متد OPTIONS با status 204/200 پاسخ دهد و برای تست از Fetch API در مرورگر یا curl استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای راهاندازی سریع، از بسته cors با تنظیم origin به http://localhost:3000 و متدهای مجاز مانند GET و POST استفاده کنید. اگر نمیخواهید از بسته استفاده کنید، یک middleware ساده بنویسید که به درخواستهای OPTIONS پاسخی با status 204 یا 200 بدهد و headerهای Access-Control-Allow-Origin، Access-Control-Allow-Methods و Access-Control-Allow-Headers را تنظیم کند. فراموش نکنید که preflight را با Fetch یا curl تست کنید تا مطمئن شوید که مرورگر از origin مجاز میشود. همچنین محدود کردن origin به همان آدرس فرانتاند امنیت بیشتری میدهد و در صورت نیاز باید credentials را فعال کنید.
گزارش