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