با استفاده از Node.js و Express یک سرور ساده بسازید که فقط درخواست‌های CORS از یک لیست مبادی مجاز (مثلاً http://localhost:3000 و http://example.com) را قبول کند و ارسال کوکی‌ها/credentials بین مبداها را به‌درستی مدیریت کند.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:28

0.0

از بسته npm 'cors' یا تنظیم هدرهای HTTP مربوط به CORS به‌صورت دستی استفاده کنید؛ یک whitelist (آرایه مبادی مجاز) تعریف کنید و در middleware بررسی کنید که Origin فقط در آن لیست باشد، همچنین پاسخ به درخواست‌های preflight (OPTIONS) را مدیریت کنید. برای پشتیبانی از کوکی‌ها/credentials گزینه credentials را فعال کرده و Access-Control-Allow-Credentials را true قرار دهید و دقت کنید که در این حالت از '*' برای Access-Control-Allow-Origin استفاده نشود؛ بهتر است لیست مبادی مجاز را در متغیرهای محیطی نگهداری کرده و با fetch از یک کلاینت مرورگر تست کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:28
دسته بندی ها: JavaScript JavaScript for beginner
nima در 202 روز قبل ساعت 09:34

برای محدود کردن CORS، از middleware ای استفاده کنید که origin را به صورت تابع بررسی کند و فقط مبادی موجود در whitelist را مجاز بداند. وقتی credentials فعال است، نباید از '*' استفاده شود و باید Access-Control-Allow-Credentials: true تنظیم گردد تا ارسال کوکی‌ها کار کند. لیست مبادی مجاز را در متغیرهای محیطی نگه دارید و در کلاینت با fetch یا axios و credential: 'include' آن را تست کنید. بهتر است از پکیج cors استفاده کنید تا هم preflight (OPTIONS) را به درستی پاسخ دهد و هم Origin را به طور دقیق بررسی کند.

گزارش

1 پاسخ

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

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