اشتراک منابع بین سایت ها با استفاده از سرصفحه CORS محدود یا فعال شود.
سرصفحه CORS (Cross-Origin Resource Sharing) در همه پشتیبانی می شود مرورگرهای مدرن.
به طور پیش فرض ، مرورگر درخواستهای HTTP با منشاء متقابل را از طریق یک اسکریپت محدود می کند.
و CORS می تواند برای استفاده مجدد از منابع اشتراکی برنامه در سایر برنامه های وب مفید باشد.
به محض افزودن صحیح ، آن را راهنمایی می کند. مرورگر برای بارگیری برنامه از یک منبع دیگر.
شش سرصفحه سرور CORS وجود دارد که می تواند ارسال کند.
بیایید آنها را بررسی کنیم.
1 دسترسی -Control -Allow -Origin
محبوب ترین نوع که به مرورگر می گوید بارگیری شود منابع توسط منبع مجاز.
این از کارت های عادی پشتیبانی می کند (*) ، و هر دامنه می تواند منابع را بارگیری کند.
آنها متر ، با این حال ، این توانایی را دارند که یک منبع خاص را حل کنند.
Apache
موارد زیر را به httpd.conf یا هر پرونده پیکربندی دیگر مورد استفاده اضافه کنید.
تنظیم هدر دسترسی-کنترل-اجازه-مبدا "*"
Perez
باید موارد مشابه را در سرصفحات مشاهده کنید.

و برای دسترسی به یک منبع خاص (به عنوان مثال: https://gf.dev) ، می توانید از موارد زیر استفاده کنید:
مجموعه هدر Access-Control-Allow-Origin "https://gf.dev"
Nginx
در اینجا مثالی وجود دارد که اجازه می دهد منشاء https://itisgood.ru شود.
موارد زیر را به بلوک سرور nginx.conf اضافه کنید یا پرونده پیکربندی مورد استفاده.
add_header Access-Control-Allow-Origin "https: // itisgood.ru "؛
2 Access-Control-Allow-Methods
مرورگر می تواند برای دسترسی به منابع ، یک یا چند روش HTTP را آغاز کنید.
ص به عنوان مثال: – GET ، PUT ، OPTIONS ، PUT ، DELETE ، POST
Apache
فقط GET و فقط POST را مجاز کنید.
هدر اضافه کردن روش های دسترسی-کنترل-اجازه-اجازه "GET ، POST"
Nginx [19659027] فرض کنید شما باید روش DELETE و OPTIONS را اضافه کنید ، می توانید همانطور که در زیر نشان داده شده است این کار را انجام دهید:
add_header Access-Control-Allow-Methods "DELETE، OPTIONS"؛
3 Access-Control- سربرگ
عناوین زیر در یک لیست امن قرار دارند ، بنابراین نیازی به اضافه کردن آنها نیست.
آنها باید به طور پیش فرض کار کنند.
add_header Access-Control-Allow-Methods "DELETE، OPTIONS"؛
3 Access-Control- سربرگ
عناوین زیر در یک لیست امن قرار دارند ، بنابراین نیازی به اضافه کردن آنها نیست.
آنها باید به طور پیش فرض کار کنند.
- نوع محتوا
- پذیرش
- زبان محتوا
- زبان-پذیرش
با این وجود ، اگر شما نیاز به افزودن گزینه سفارشی دارید ، می توانید این کار را انجام دهید.
پشتیبانی از یک یا چند عنوان دیگر.
آپاچی
بیایید می گوییم می خواهید هدرهای X-Custom-Header و X-Powered By را فعال کنید.
هدر همیشه Head-Access-Control-All-Headers را تنظیم می کند "X-Custom-Header، X-Powered By"
نگین
نمونه ای از افزودن هدر X-Customer-Software و X-My-Custom.
add_header Access-Control-All-Headers "X-Custom-Software، X-My-Custom"؛
4 دسترسی-کنترل-قرار گرفتن در معرض-هدرها
عناوین زیر در حال حاضر در لیست امن قرار دارند.
بنابراین نیازی نیست آنها را اضافه کنید.
- منقضی می شود
- Pragma
- Cache-Control
- آخرین اصلاح شده
- محتوا-زبان
- محتوا-نوع
اما ، اگر به لیست غیر ایمنی نیاز دارید ، می توانید آنها را به شرح زیر حل کنید.
آپاچی
برای گسترش همه سرصفحات از یک کارت ویزیت استفاده کنید.
هدر همیشه هدرهای دسترسی-کنترل-قرار گرفتن در معرض را تنظیم می کند "*"
توجه: کارت های وحشی هنوز یک عنوان مجوز ارائه نمی دهد ، و اگر به یکی از آنها نیاز دارید ، باید آن را صریحاً ذکر کنید.
هدر همیشه "اجازه نامه ، دسترسی-کنترل-قرار گرفتن در معرض" را تنظیم می کند
Nginx
اگر می خواهید عنوان Origin را تنظیم کنید.
add_header Access-Control-Expos-Headers "Origin"؛
5 Access-Control-Max-Age
آیا می دانید داده های مربوط به هدرهای Access-Control-Allow-Headers و Access-Control-Allow-Methods قابل ذخیره سازی هستند؟
در Firefox ، می توان آن را تا 24 ساعت در Chrome ذخیره کرد – به مدت 2 ساعت ( 76 +).
برای غیرفعال کردن حافظه پنهان ، می توانید مقدار -1
را رها کنید.
آپاچی
هدر همیشه دسترسی-کنترل-حداکثر سن "900" را تنظیم می کند
همانطور که می بینید ، این مقدار در ثانیه است.
Nginx
حافظه پنهان به مدت یک ساعت.
add_header Access-Control-Max-Age "3600" ؛
6 Access-Control-Allow-Credentials
فقط یک گزینه وجود دارد – درست است.
اگر می خواهید مدارکی مانند کوکی ها ، گواهینامه های TLS ، مجوز را تهیه کنید ، این درخواست لازم است.
Apache
هدر همیشه تنظیمات دسترسی-کنترل-اجازه-اعتبار "صحیح"
Nginx
add_header Access-Control-Allow-Credentials "true" را تنظیم کرد ؛
نتیجه گیری
امیدوارم موارد فوق به شما در پیاده سازی عنوان CORS در Apache HTTP و سرور وب Nginx کمک کند تا امنیت را افزایش دهید.