یک سرور ساده Node.js با Express بسازید که یک مسیر API مانند /data ارائه دهد و CORS را طوری پیکربندی کند که فقط درخواست‌های از origin مشخص (مثلاً http://localhost:3000) را با ارسال کوکی/اعتبارنامه بپذیرد و پاسخ پیش‌پرواز (preflight) را نیز مدیریت کند.

3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:28

0.0

برای حل این مسئله از Node.js و فریم‌ورک Express استفاده کنید و بستهٔ npm به‌نام cors را نصب کنید؛ سپس در تنظیمات cors مقدار origin را به آدرس مورد نظر محدود و گزینه credentials را true قرار دهید و هدرها و متدهای مجاز را مشخص کنید. برای مدیریت پیش‌پرواز، از app.options برای مسیر مربوطه استفاده کنید یا cors را به‌عنوان middleware عمومی اضافه کنید. نکته‌ها: هنگام استفاده از credentials از '*' برای origin استفاده نکنید، origin را از متغیرهای محیطی بخوانید تا قابل تغییر باشد و برای تست در مرورگر از fetch با گزینه credentials: 'include' استفاده کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:28
دسته بندی ها: JavaScript JavaScript for beginner
arman در 221 روز قبل ساعت 13:08

نکته خوب این است که origin را از متغیر محیطی بخوانید و با گزینه credentials: true در پیکربندی cors محدود کنید تا کوکی‌ها به مبدا مجاز ارسال شوند. فراموش نکنید که هرگز از '*' به عنوان origin در صورت استفاده از credentials استفاده نکنید و هدر Access-Control-Allow-Credentials را بررسی کنید. برای مدیریت preflight، اضافه کردن cors middleware به کل اپ یا استفاده از app.options برای مسیر خاص، هر دو کارآمدند و پذیرفته‌اند. برای تست در مرورگر، درخواست fetch را با credentials: 'include' انجام دهید تا رفتار واقعی کوکی‌ها را ببینید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری