Rəqəmsal Marketinq

Cross-Origin Resource Sharing (CORS) və Veb Təhlükəsizliyi

  • 15 mart 2025
  • 24 dk okuma
  • Hostragons Komandası

Bu bloq yazısı veb təhlükəsizliyinin vacib hissəsi olan Cross-Origin Resurs Paylaşımı (CORS) haqqında geniş ümumi baxış təqdim edir. O, CORS-un nə olduğunu və veb tətbiqlər üçün niyə vacib olduğunu izah edir, eyni zamanda onun tarixi və inkişafı haqqında məlumat verir. CORS istifadəsinin əsas üstünlükləri vurğulanır və konfiqurasiya addımları sadə bir bələdçi ilə izah olunur. Texniki detallara dərindən baxmaqla, CORS səhvləri və həlləri ətraflı araşdırılır. CORS-un təhlükəsizliyini artırmaq üçün strategiyalar və siyasət tətbiqi nümunələri təqdim olunur. Bundan əlavə, CORS haqqında ümumi yanlış təsəvvürlər aradan qaldırılır və ən vacib məqamlar ümumiləşdirilir. Bu, veb inkişaf etdiricilər üçün CORS haqqında geniş bələdçidir.

CORS nədir və veb tətbiqlər üçün əhəmiyyəti

Mənşəyin Kəsişməsi Paylaşma (CORS) veb brauzerlər üçün təhlükəsizlik mexanizmidir və veb səhifənin başqa domen resurslarına çıxışına icazə verir və ya mane olur. Əsasən, bu, veb tətbiqə öz domenindən kənar resurslara (məsələn, API-lər, şriftlər, şəkillər) girişini idarə etməyə imkan verir. CORS müasir veb təhlükəsizliyinin təməl daşlarından biridir və veb tətbiqlərin təhlükəsizliyinin təmin edilməsində kritik rol oynayır.

CORS xüsusilə müasir veb inkişaf yanaşmalarında, məsələn, tək səhifəli tətbiqlərdə (SPA-lar) və mikroservis arxitekturalarında vacibdir. Belə tətbiqlər tez-tez müxtəlif sahələrdəki API-lərə və digər resurslara əsaslanır. Bu resursların təhlükəsiz paylaşılmasını təmin etməklə, CORS zərərli saytların həssas məlumatlara çıxışının qarşısını alır. Əgər CORS mexanizmi olmasaydı, istənilən vebsayt JavaScript-dən istifadə edərək başqa bir saytın istifadəçi məlumatlarını oğurlaya və ya dəyişdirə bilərdi.

    CORS-un faydaları

  • Bu, veb tətbiqlərə müxtəlif domenlərdən məlumatları təhlükəsiz şəkildə mübadilə etməyə imkan verir.
  • Bu, zərərli saytların istifadəçi məlumatlarına çıxışını əngəlləyir.
  • Bu, API-lərin və digər veb xidmətlərin təhlükəsizliyini artırır.
  • O, müasir veb inkişaf yanaşmalarının (SPA, mikroxidmətlər) təhlükəsiz tətbiqini dəstəkləyir.
  • Bu, brauzerlər arasında uyğunluq problemlərini minimuma endirir.
  • Bu, inkişaf etdiricilərə hansı domenlərdən hansı resurslara daxil ola biləcəyinə dair detallı nəzarət imkanı verir.

CORS veb təhlükəsizliyi üçün həyati əhəmiyyət daşıyır, çünki o, veb tətbiqlərin və istifadəçilərin məlumatlarını qorumaq üçün eyni Eyni Mənşə Siyasəti (SOP) ilə işləyir. SOP veb səhifəyə yalnız eyni domen, protokol və portdakı resurslara çıxış imkanı verir. CORS isə SOP-u yumşaldır və müəyyən şərtlər altında müxtəlif domenlərdən resurslara çıxış imkanı verir. Bu, veb tətbiqlərin daha çevik və funksional olmasına imkan verir, eyni zamanda təhlükəsizliyi qoruyur.

CORS-un düzgün konfiqurasiyası veb tətbiqlərin təhlükəsizliyi üçün həyati əhəmiyyət daşıyır. Yanlış konfiqurasiya edilmiş CORS siyasəti veb tətbiqləri müxtəlif zəifliklərə qarşı həssas edə bilər. Buna görə də CORS-un necə işlədiyini və düzgün konfiqurasiya olunmasını anlamaq hər bir veb proqramçı üçün vacibdir.

CORS-un tarixi və inkişafı haqqında məlumat

Mənşəyin Kəsişməsi Paylaşım (CORS) müasir veb tətbiqlərinin ayrılmaz hissəsidir, lakin bu texnologiyanın kökləri və inkişafı onun bu gün aktuallığını anlamaq üçün vacibdir. Əvvəlcə, veb brauzerlər yalnız öz domenindən olan resurslara çıxış imkanı verən eyni mənşə siyasəti ilə məhdudlaşırdı. Bu, müxtəlif domenlərdən məlumat çəkməyi tələb edən müasir veb tətbiqlərin inkişafını əhəmiyyətli dərəcədə məhdudlaşdırdı. CORS bu məhdudiyyətləri keçmək və kros-mənşə sorğuları təhlükəsiz şəkildə etmək üçün hazırlanıb.

CORS-un inkişafı veb inkişaf etdiricilərin qarşılaşdığı praktik çətinliklərə cavab olaraq başladı. Xüsusilə, müxtəlif mənbələrdən məlumat toplamaq və API-lərə giriş ehtiyacı veb tətbiqlərin daha dinamik və funksional olmasını təmin edən həll tələb edirdi. Bu ehtiyaca əsaslanaraq, Ümumdünya Veb Konsorsiumu (W3C) standartlar müəyyən edib və brauzerlərlə serverlərin qarşılıqlı əlaqəsi müəyyən edilib. Bu standartlar inkişaf etdiricilərə daha çox çeviklik təqdim etməyi və eyni zamanda təhlükəsizlik zəifliklərini minimuma endirməyi hədəfləyirdi.

Vilayət İnkişaf Təsvir
2000-ci illərin əvvəlləri İlkin Ehtiyaclar Veb inkişaf etdiricilər müxtəlif domenlərdən məlumat çəkməyin vacibliyini başa düşüblər.
2004 İlkin həllər JSONP kimi alternativ yollar ortaya çıxıb, amma onların zəiflikləri var idi.
2009 W3C Tədqiqatları W3C CORS üçün standartlar hazırlamağa başlayıb.
2010+ Geniş istifadə CORS müasir brauzerlər tərəfindən dəstəklənməyə başladı və geniş istifadə olundu.

CORS-un inkişafı veb təhlükəsizliyi ilə funksionallıq arasındakı balansı daim nəzərə alaraq, irəliləyib. İlkin tətbiqlər sadə sorğular üçün kifayət etsə də, zamanla daha mürəkkəb ssenariləri dəstəkləmək üçün genişləndirilib. Məsələn, preflight sorğu mexanizmi serverin müəyyən bir kəsişən sorğuya icazə verib-vermədiyini yoxlamaq üçün əlavə təhlükəsizlik qatını təmin edir. Bu və oxşar təkmilləşdirmələr CORS-u müasir veb tətbiqlərin təhlükəsiz və effektiv işləməsini təmin edən əsas texnologiyaya çevirib.

CORS-un İnkişaf Mərhələləri

  1. Eyni mənşə siyasətinin məhdudiyyətləri
  2. JSONP kimi erkən həllərin ortaya çıxması (zəiflikləri ilə)
  3. W3C tərəfindən Standartların İnkişafı
  4. Uçuşdan əvvəl sorğu mexanizminin təqdimatı
  5. Müasir brauzerlər tərəfindən geniş qəbul

Bu gün CORS veb tətbiqlərə müxtəlif mənbələrdən təhlükəsiz məlumat mübadiləsi imkanı verən kritik mexanizmdir. Lakin CORS-un düzgün konfiqurasiyası və tətbiqi təhlükəsizlik zəifliklərinin qarşısını almaq üçün böyük əhəmiyyət daşıyır. Yanlış konfiqurasiya edilmiş CORS siyasəti zərərli şəxslərin həssas məlumatlara çıxış əldə etməsinə imkan verə bilər. Buna görə də, veb tərtibatçılar CORS-un əsas prinsiplərini və düzgün konfiqurasiya metodlarını yaxşı başa düşməlidirlər.

Niyə CORS-dan istifadə edirsiniz? Əsas faydalar

Mənşəyin Kəsişməsi Paylaşma (CORS) müasir veb tətbiqlərin təhlükəsizliyini və funksionallığını artırmaq üçün əvəzolunmaz mexanizmdir. Bu, veb inkişaf etdiricilərə böyük çeviklik verir, çünki eyni mənbəyə malik olmayan mənbələr arasında məlumatların təhlükəsiz mübadiləsini mümkün edir. CORS tərəfindən təmin olunan bu çeviklik müxtəlif sahələrdə xidmətlərin inteqrasiyasını asanlaşdırır və istifadəçi təcrübəsini zənginləşdirir.

CORS-un əsas üstünlüklərindən biri eyni mənşə siyasətinə görə veb brauzerlərin qoyduğu məhdudiyyətləri keçməkdir. Bu siyasət yalnız veb səhifəyə eyni protokola, eyni porta (əgər göstərilibsə) və eyni hosta malik resurslara çıxış imkanı verir. CORS serverlərə hansı mənbələrdən sorğulara icazə veriləcəyini müəyyən etməyə imkan verir və bu məhdudiyyətləri təhlükəsiz şəkildə yumşaldır.

CORS-un üstünlükləri

  • O, müxtəlif domenlərdəki API-lərə təhlükəsiz giriş təmin edir.
  • Bu, veb tətbiqləri daha modul və miqyaslana bilən etməyə kömək edir.
  • Bu, inkişaf etdiricilərə daha çox çeviklik və nəzarət imkanı verir.
  • Bu, istifadəçi təcrübəsini zənginləşdirən inteqrasiyalara imkan verir.
  • Təhlükəsizlik zəifliklərini azaltmaqla veb tətbiqləri daha təhlükəsiz edir.

Aşağıdakı cədvəldə CORS-un əsas xüsusiyyətlərini və üstünlüklərini daha ətraflı araşdıra bilərsiniz:

Xüsusiyyət Təsvir Üstünlük
Cross-Origin Sorğuları Fərqli domenlərdən HTTP sorğuları. Bu, məlumat paylaşımı və xidmət inteqrasiyasını mümkün edir.
Uçuş Öncəsi Tələblər OPSİYONLAR metodu, serverin CORS siyasətini idarə edir. Bu, təhlükəsiz məlumat ötürülməsini təmin edir və potensial təhlükəsizlik zəifliklərinin qarşısını alır.
İcazə verilən Mənşə Serverin sorğulara icazə verdiyi domenlərin siyahısı. O, nəzarətli və təhlükəsiz giriş təmin edir.
Sertifikat Dəstəyi Bu, kukilər və autentifikasiya başlıqları kimi məlumatların paylaşılmasına imkan verir. İstifadəçi sessiyalarını və fərdi təcrübələri dəstəkləyir.

CORS-un düzgün konfiqurasiyası veb tətbiqlərin təhlükəsizliyi üçün həyati əhəmiyyət daşıyır. Yanlış konfiqurasiya edilmiş CORS siyasəti hücumçulara həssas məlumatlara çıxış əldə etməyə və ya zərərli kod icra etməyə imkan verə bilər. Buna görə də, CORS konfiqurasiyasının diqqətlə planlaşdırılması və tətbiqi veb təhlükəsizliyini təmin etmək üçün böyük əhəmiyyət daşıyır.

CORS Konfiqurasiya Addımları hansılardır? Sadə Bələdçi

Mənşəyin Kəsişməsi Paylaşmanın Konfiqurasiyası (CORS) veb tətbiqlərinizi qorumaq və müxtəlif mənbələrdən məlumat mübadiləsini təşkil etmək üçün həyati əhəmiyyət daşıyır. Bu konfiqurasiya veb səhifənin resurslara çıxışını fərqli domen vasitəsilə idarə etməyə imkan verir. Yanlış konfiqurasiya edilmiş CORS siyasəti təhlükəsizlik zəifliklərinə səbəb ola bilər, düzgün konfiqurasiya edilmiş CORS isə tətbiqinizin təhlükəsizliyini artırır və onun problemsiz işləməsini təmin edir.

CORS-u konfiqurasiya etməyə başlamazdan əvvəl, tətbiqinizin ehtiyaclarını və hansı resurslara çıxış tələb etdiyini müəyyən etmək vacibdir. Bu, hansı domenlərin etibarlı olduğunu və hansı HTTP metodlarının (GET, POST, PUT, DELETE və s.) icazə verilməli olduğunu anlamağa kömək edir. Bu analiz sizə daha məlumatlı konfiqurasiya addımları atmağa imkan verir.

    CORS Konfiqurasiya Addımları

  1. Ehtiyac Analizi aparın: Hansı resurslara çıxış lazım olduğunu müəyyən edin.
  2. Server tərəfi konfiqurasiyası: Server tərəfində uyğun HTTP başlıqlarını təyin edin.
  3. Origin başlığını düzgün təyin edin: İcazə verilən domenləri təyin edin.
  4. HTTP Metodlarını təyin edin: İcazə verilən metodları təyin edin (GET, POST və s.).
  5. Giriş məlumatlarını qurun: Kukilər və etimadnamələrin göndərilməsinə icazə verin.
  6. Səhv İdarəetməsi: CORS səhvlərini düzgün idarə edin.

CORS konfiqurasiyası zamanı server tərəfində uyğun HTTP başlıqlarını təyin etmək vacibdir. 'Access-Control-Allow-Origin' başlığı resursa hansı domenlərin daxil ola biləcəyini göstərir. 'Access-Control-Allow-Methods' başlığı hansı HTTP metodlarının istifadə oluna biləcəyini müəyyən edir. 'Access-Control-Allow-Headers' başlığı sorğuya hansı xüsusi başlıqların daxil edilə biləcəyini göstərir. Bu başlıqların düzgün konfiqurasiyası tətbiqinizin təhlükəsiz və uyğun işləməsini təmin edir.

HTTP Başlığı Təsvir Nümunə Qiymətləndirmə
Giriş-İzah-İcazə Verildi-Müzakirə İcazə verilən resurs domenləri https://example.com
İcazənin verilməsi üçün giriş üsulları İcazə verilən HTTP metodları GÖTÜR, PAYLAŞ, QOY
Giriş-Giriş-Giriş-İcazə Başlıqları İcazə verilən xüsusi başlıqlar Content-Type, Authorization
Giriş-Giriş-İcazə ver-Etimadnamələr Kukilərin göndərilməsinə icazə verin Düzdür

CORS səhvlərini düzgün idarə etmək və istifadəçilərinizə mənalı rəy vermək vacibdir. Brauzer konsolunda görünən CORS səhvləri tez-tez səhv konfiqurasiya edilmiş CORS siyasətinin göstəricisidir. Bu səhvləri düzəltmək üçün server tərəfi konfiqurasiyanızı yoxlayın və lazım olan düzəlişləri edin. Bundan əlavə, müraciətinizin təhlükəsizliyini artırmaq üçün CORS siyasətlərinizi müntəzəm olaraq yeniləyin və yeniləyin.

Mənşəyarası Resurs Paylaşımı: Texniki Detallar

Mənşəyin Kəsişməsi Paylaşma (CORS) veb brauzerlərin bir mənbədən yüklənmiş veb səhifələrə başqa mənbədən resurslara çıxış imkanı verməsi mexanizmidir. Əsasən, bu, veb səhifənin fərqli domen, protokol və ya port vasitəsilə resursları tələb etməsinə imkan verir. Bu mexanizm veb tətbiqlərin müasir tələblərinə cavab vermək üçün həyati əhəmiyyət daşıyır. Lakin, düzgün konfiqurasiya olunmazsa, ciddi təhlükəsizlik riskləri yarada bilər.

CORS-un texniki detalları ilə məşğul olmadan əvvəl mənşə anlayışını başa düşmək vacibdir. Resurs protokol (http/https), domen (example.com) və port (80/443) kombinasiyasından ibarətdir. Əgər bu üç komponentdən hər hansı biri fərqlidirsə, iki mənbə fərqli sayılır. CORS, brauzerlər tərəfindən tətbiq olunan təhlükəsizlik tədbiri olan Eyni-Mənşə Siyasəti ətrafında formalaşıb.

Ssenari Sorğu Mənbəyi Hədəf Mənbə CORS zəruridirmi?
Eyni domen http://example.com http://example.com/api yox
Fərqli Port http://example.com:8080 http://example.com:3000/api Əminəm
Fərqli Protokol http://example.com https://example.com/api Əminəm
Fərqli Domen http://example.com http://api.example.com/api Əminəm

CORS server tərəfində HTTP başlıqları vasitəsilə idarə olunur. Brauzer cross-origin sorğusu etdikdə, server sorğuya xüsusi CORS başlıqları ilə cavab verir. Bu başlıqlar brauzerə hansı resursların daxil ola biləcəyini, hansı HTTP metodlarının (GET, POST və s.) istifadə oluna biləcəyini və hansı xüsusi başlıqların göndərilə biləcəyini göstərir. Server tərəfindən göndərilən ən vacib başlıq onun Giriş-nəzarət-İcazə ver-mənşə başlığıdır. Bu başlıq hansı resurslara giriş icazəsi verildiyini göstərir. Bir mənbə, bir neçə mənbə və ya joker (*) dəyər kimi istifadə oluna bilər. Wildcard istifadə olunduqda, bütün resurslara icazə verilir, amma bu, təhlükəsizlik baxımından riskli ola bilər.

    Mənşəyarası Resurs Xüsusiyyətləri

  • Introduction-nəzarət-icazə ver-mənşə: İcazə verilən mənbələri göstərir .
  • Giriş-İcazə Metodları: İcazə verilən HTTP metodlarını müəyyən edir.
  • Giriş-Giriş-İcazə-Başlıqlar: İcazə verilən xüsusi başlıqları göstərir .
  • giriş-nəzarət-açıq-başlıqlar: Brauzerin daxil ola biləcəyi başlıqları göstərir.
  • Introduction-nəzarət-izə ver-etimadnamələr: Elektron məlumatların (kukilər, HTTP autentifikasiyası) göndərilməsinə icazə verilib-verilmədiyini müəyyən edir.

CORS mexanizmi iki növ sorğu dəstəkləyir: sadə sorğular və uçuş öncəsi sorğular. Sadə sorğular müəyyən şərtləri ödəyən sorğulardır (məsələn, GET, HEAD və ya POST metodlarından istifadə və müəyyən başlıqlardan istifadə etmək). Digər tərəfdən, preflight sorğuları daha mürəkkəb sorğulardır və OPTIONS metodu ilə serverə göndərilir ki, real sorğunun təhlükəsiz şəkildə göndərilə biləcəyini yoxlasın.

CORS və Təhlükəsizlik

CORS veb tətbiqlərin təhlükəsizliyini artırmaq üçün nəzərdə tutulsa da, səhv konfiqurasiya olunduqda zəifliklər yarada bilər. Məsələn, Giriş-nəzarət-İcazə ver-mənşə başlıqda wildcard (*) istifadə etmək zərərli vebsaytın həssas məlumatlara çıxış etməsinə imkan verə bilər. Buna görə də , hansı resurslara giriş icazəsi verildiyini diqqətlə müəyyən etmək vacibdir.

Təhlükəsizlik baxımından nəzərə alınmalı başqa bir məqam başlıq Giriş-nəzarət-İcazə verin-etimadnamələr lövhəsinin istifadəsidir. Bu başlıq giriş məlumatlarının (kukilər, HTTP autentifikasiyası) kros-mənşə sorğuları ilə göndərilməsinə imkan verir. Əgər bu başlıq təsadüfən aktivləşdirilərsə, saytlararası skript (XSS) kimi hücumlar daha təhlükəli ola bilər.

CORS və Performans

CORS konfiqurasiyası həmçinin performans baxımından təsir göstərə bilər. Preflight sorğuları hər kəsişən mənşə sorğusu üçün əlavə HTTP sorğusu göndərilməsinə səbəb olur. Bu, xüsusilə tez-tez kros-origin sorğuları edən tətbiqlərdə performansa mənfi təsir göstərə bilər. Buna görə də, uçuş öncəsi sorğuları minimuma endirmək üçün müxtəlif optimallaşdırma texnikalarından istifadə edilə bilər. Məsələn, sadə sorğulardan istifadə etmək və ya server tərəfində keşləmə mexanizmlərindən istifadə performansı yaxşılaşdıra bilər.

CORS konfiqurasiyasını düzgün test etmək və izləmək vacibdir. Brauzer inkişaf etdirici alətlərindən və ya ixtisaslaşmış CORS test alətlərindən istifadə etməklə CORS səhvləri aşkar edilə və həll edilə bilər. Bundan əlavə, server tərəfində CORS başlıqlarının düzgün qurulması üçün müntəzəm yoxlamalar aparılmalıdır.

CORS səhvləri və həlləri haqqında məlumat

Mənşəyin Kəsişməsi Paylaşma (CORS) səhvləri veb inkişaf prosesində rast gəlinən ən çox rast gəlinən problemlərdən biridir. Bu səhvlər veb səhifənin başqa domendən olan resurslara (məsələn, JavaScript faylları, CSS və ya API məlumatları) daxil olmağa çalışdığı zaman baş verir. Təhlükəsizlik səbəblərinə görə, brauzerlər fərqli mənbələrdən gələn sorğuları standart olaraq bloklayan eyni mənşə siyasəti tətbiq edir. CORS bu məhdudiyyətləri aradan qaldırmaq və müxtəlif mənbələrdən məlumatların təhlükəsiz mübadiləsini təmin etmək üçün hazırlanmış mexanizmdir. Lakin, səhv konfiqurasiyalar və ya çatışmayan parametrlər CORS səhvlərinə səbəb ola bilər.

Səhifə kodu Təsvir Mümkündür
Tələb olunan resursda 'Access-Control-Allow-Origin' başlığı yoxdur. Serverdə tələb olunan resurs üçün 'Access-Control-Allow-Origin' başlığı yoxdur. Server tərəfində 'Access-Control-Allow-Origin' başlığını konfiqurasiya edin.
'Access-Control-Allow-Origin' başlığında 'null' səhvsiz dəyər var. 'Access-Control-Allow-Origin' başlığında etibarsız 'null' dəyəri var. Server tərəfində düzgün domen adını və ya '*' (bütün resurslar üçün) təyin edin.
Cross-Origin Sorğusu Bloklandı: Eyni Mənbə Siyasəti uzaq resursun oxunmasına icazə vermir. Eyni Resurs Siyasəti uzaq resursun oxunmasının qarşısını alır. CORS konfiqurasiyasını yoxlayın və server tərəfində lazım olan icazələri verin.
CORS preflight kanalı uğur qazana bilmədi. CORS-un uçuş öncəsi sorğusu uğursuz oldu. Server tərəfində OPTIONS sorğusu üçün düzgün CORS başlıqlarını konfiqurasiya edin.

CORS səhvlərini anlamaq və həll etmək veb tətbiqlərin problemsiz işləməsi üçün həyati əhəmiyyət daşıyır. Bu səhvlər adətən brauzer konsolunda ətraflı səhv mesajları ilə göstərilir. Bu mesajlar səhvin mənbəyini və mümkün həll yollarını anlamaq üçün vacib ipucları verir. Məsələn, əgər səhv mesajında serverdə 'Access-Control-Allow-Origin' başlığı olmadığı deyilirsə, bu başlığı server tərəfində uyğun şəkildə konfiqurasiya etmək lazımdır. Əlavə olaraq, preflight sorğularının uğursuzluğu serverin OPTIONS sorğularını düzgün idarə etmədiyini göstərə bilər.

CORS Səhvləri və Həll Metodları

  • 'Access-Control-Allow-Origin' başlığının konfiqurasiyası: Server tərəfində, bu başlığı düzgün təyin edin ki, hansı domenlərin resursa daxil ola biləcəyini göstərsin.
  • Uçuş öncəsi sorğuların idarə olunması: Serverinizin OPTIONS sorğularını düzgün idarə etdiyinə əmin olun.
  • Proxy Server İstifadəsi: CORS problemlərini aradan qaldırmaq üçün, sorğuları öz serveriniz vasitəsilə yönləndirən proxy serverdən istifadə edə bilərsiniz.
  • JSONP istifadəsi (məhdud hallarda): GET sorğuları üçün bəzi hallarda JSONP (JSON with Padding) texnikası istifadə oluna bilər, lakin bu metod daha az təhlükəsizdir.
  • Xəta Mesajlarını Diqqətlə Yoxlamaq: Brauzer konsolundakı səhv mesajları problemin mənbəyini anlamaq üçün vacib məlumatlar ehtiva edir.
  • CORS Plaginləri və Alətləri: Brauzer plaginləri və ya onlayn alətlər sizə CORS səhvlərini müəyyən etməyə və aradan qaldırmağa kömək edə bilər.
  • CORS səhvlərinin həlli adətən server tərəfi konfiqurasiyaları ilə əlaqəlidir. Lakin bəzi hallarda müştəri tərəfi həlləri də istehsal edilə bilər. Məsələn, CORS problemləri proxy server istifadə etməklə və ya JSONP kimi alternativ məlumat toplama üsullarını sınamaqla aradan qaldırıla bilər. Lakin qeyd etmək vacibdir ki, belə həllər həmişə ən yaxşı seçim olmur və təhlükəsizlik riskləri yarada bilər. Ən təhlükəsiz və daimi həll server tərəfində düzgün CORS başlıqlarını konfiqurasiya etməkdir. CORS-un düzgün konfiqurasiyası həm təhlükəsizliyi təmin edir, həm də müxtəlif mənbələrdən məlumat mübadiləsini mümkün edir.

    CORS-un ən vacib məqamlarından biri qeyri-sabitlik məsələsidir. CORS veb tətbiqlərin təhlükəsizliyini artırmaq üçün nəzərdə tutulmuş mexanizm olsa da, səhv konfiqurasiyalar təhlükəsizlik zəifliklərinə səbəb ola bilər. Məsələn, 'Access-Control-Allow-Origin' başlığını '*' olaraq təyin etmək o deməkdir ki, bütün domenlər resursa çıxış əldə edə bilər ki, bu da təhlükəsizlik baxımından risklidir. Buna görə də CORS konfiqurasiyalarını diqqətlə etmək və yalnız etibarlı mənbələrə icazə vermək vacibdir. Veb inkişaf etdiricilər CORS-un necə işlədiyini və potensial təhlükəsizlik risklərini yaxşı başa düşməlidirlər.

    CORS-un təhlükəsizliyini artırmaq üçün strategiyalar

    Mənşəyin Kəsişməsi Paylaşma (CORS) veb tətbiqlərin təhlükəsizliyi üçün kritik mexanizmdir. Lakin, səhv konfiqurasiya olunmuş və ya natamam təhlükəsizlik tədbirləri olduqda, CORS potensial zəifliklərə səbəb ola bilər. Buna görə də CORS-un təhlükəsizliyini artırmaq üçün müxtəlif strategiyaların həyata keçirilməsi vacibdir. Bu strategiyalar icazəsiz girişin qarşısını almaq, həssas məlumatları qorumaq və veb tətbiqlərin ümumi təhlükəsizliyini gücləndirmək üçün nəzərdə tutulub.

    CORS-un təhlükəsizliyini artırmaq üçün ilk addım Origin başlığını düzgün konfiqurasiya etməkdir. Server tərəfində yalnız etibarlı və səlahiyyətli mənbələrə (origin) giriş icazəsi verilməlidir. Wildcard (*) istifadəsindən qaçmaq lazımdır, çünki bu, bütün resurslara çıxışa imkan verərək təhlükəsizlik riskini artırır. Bunun əvəzinə, konkret resursların siyahısı yaradılmalı və yalnız həmin resurslara giriş icazəsi verilməlidir.

      Təhlükəsizlik üçün CORS Strategiyaları

    • Xüsusi Mənşələrə İcazə Verməyin: * Bunun əvəzinə konkret və etibarlı mənşələri təyin edin.
    • Uçuş öncəsi sorğuların düzgün idarə olunması: OPTIONS sorğularını diqqətlə idarə edin və lazım olan başlıqları yoxlayın.
    • Təhlükəsiz Başlıqlardan İstifadə: Access-Control-Allow-Headers başlığını düzgün konfiqurasiya edin.
    • Autentifikasiyanın gücləndirilməsi: Kukilər və avtorizasiya bannerləri üçün əlavə təhlükəsizlik tədbirləri görülsün.
    • Səhv İdarəetməsinin Təkmilləşdirilməsi: Yanlış CORS konfiqurasiyalarını aşkar etmək və düzəltmək üçün monitorinq sistemləri qurun.
    • Müntəzəm Təhlükəsizlik Auditlərinin Keçirilməsi: CORS konfiqurasiyalarınızı müntəzəm test edin və yeniləyin.

    Aşağıdakı cədvəldə CORS təhlükəsizliyini yaxşılaşdırmaq üçün istifadə oluna biləcək bəzi başlıqlar və onların təsvirləri yer alır. Bu başlıqların düzgün konfiqurasiyası icazəsiz girişin qarşısını almaq və məlumat təhlükəsizliyini təmin etmək üçün vacibdir.

    Başlıq Təsvir Nümunə Qiymətləndirmə
    Giriş-İzah-İcazə Verildi-Müzakirə Girişə icazə verilən resursları müəyyən edir. https://example.com
    İcazənin verilməsi üçün giriş üsulları İcazə verilən HTTP metodlarını göstərir. GÖTÜR, PAYLAŞ, QOY, SIL
    Giriş-Giriş-Giriş-İcazə Başlıqları İcazə verilən başlıqları göstərir. Content-Type, Authorization
    Giriş-Giriş-İcazə ver-Etimadnamələr Məlumat məlumatlarının (kukilər, avtorizasiya başlıqları) göndərilməsinə icazə verilib-verilmədiyini göstərir. Düzdür

    CORS konfiqurasiyaları müntəzəm olaraq yoxlanılmalı və yenilənməlidir. Yeni zəifliklər və təhdidlər ortaya çıxdıqca, CORS siyasətlərini buna uyğun tənzimləmək vacibdir. Bundan əlavə, veb tətbiqin istifadə etdiyi bütün üçüncü tərəf kitabxanaları və xidmətlərinin CORS siyasətləri də nəzərdən keçirilməlidir. Beləliklə, mümkün təhlükəsizlik riskləri minimuma endirilə bilər və veb tətbiqin ümumi təhlükəsizliyi təmin edilə bilər.

    CORS Siyasətləri və Tətbiq Nümunələri

    Mənşəyin Kəsişməsi Paylaşma (CORS) siyasətləri veb brauzerlərin təhlükəsizlik mexanizmlərini müəyyən edir ki, bu da bir mənbədən yüklənmiş veb səhifələrin başqa mənbədən resurslara çıxışını məhdudlaşdırır. Bu siyasətlər zərərli vebsaytların həssas məlumatlara çıxışının qarşısını alaraq istifadəçi təhlükəsizliyini artırmağı hədəfləyir. Əsasən, CORS veb tətbiqə yalnız icazə verilən mənbələrdən məlumat əldə etməyə imkan verir və beləliklə, icazəsiz girişin qarşısını alır.

    CORS siyasətlərinin tətbiqi server tərəfi konfiqurasiyaları ilə müəyyən edilir. Server HTTP başlıqları vasitəsilə hansı resurslara giriş icazəsi verildiyini müəyyən edir. Bu başlıqlara baxmaqla brauzer sorğunun edildiyi resursun icazə verilib-verilmədiyini yoxlayır. Əgər resurs icazə verilmirsə, brauzer sorğunu bloklayır və JavaScript konsolunda xəta mesajı göstərir. Beləliklə, veb tətbiqlər müştəri tərəfində heç bir dəyişiklik olmadan təhlükəsiz işləyə bilər.

    HTTP Başlığı Təsvir Nümunə Qiymətləndirmə
    Giriş-İzah-İcazə Verildi-Müzakirə İcazə verilən resursları göstərir. https://example.com
    İcazənin verilməsi üçün giriş üsulları İcazə verilən HTTP metodlarını göstərir. GÖTÜR, PAYLAŞ, QOY
    Giriş-Giriş-Giriş-İcazə Başlıqları İcazə verilən xüsusi başlıqları göstərir. X-Custom-Header, Content-Type
    Giriş-Giriş-İcazə ver-Etimadnamələr Giriş məlumatlarının (kukilər, avtorizasiya başlıqları) göndərilib-göndərilməməsini müəyyən edir. Düzdür

    CORS siyasətlərinin konfiqurasiyası bəzən mürəkkəb ola bilər və səhv konfiqurasiyalar təhlükəsizlik zəifliklərinə səbəb ola bilər. Məsələn, Giriş-nəzarət-İcazə ver-mənşə: * ondan istifadə etmək bütün resurslara çıxışın verilməsi deməkdir ki, bu da bəzi hallarda riskli ola bilər. Buna görə CORS siyasətlərini diqqətlə konfiqurasiya etmək və yalnız lazım olan resurslara icazə vermək vacibdir. Təhlükəsizlik mütəxəssisləri CORS konfiqurasiyalarını mütəmadi olaraq nəzərdən keçirməyi və təhlükəsizlik testlərinin aparılmasını tövsiyə edirlər.

    CORS Tətbiqləri Fərqli Brauzerlərdə

    CORS siyasətlərinin tətbiqi brauzerlər arasında bir qədər fərqlənə bilər. Amma ümumilikdə, bütün müasir brauzerlər CORS standartlarını dəstəkləyir və eyni əsas prinsiplərə əsaslanır. Brauzerlər serverdən HTTP başlıqlarını analiz edərək sorğunun edildiyi resursun icazə verilib-verilmədiyini yoxlayır. Əgər resurs icazə verilmirsə, brauzer sorğunu bloklayır və istifadəçiyə xəta mesajı göstərir.

    Aşağıda CORS siyasətlərinin konfiqurasiyası və yoxlanılması üçün tətbiq nümunələri verilmişdir:

    1. Server tərəfində CORS başlıqlarının qurulması: Server tərəfində, hansı resurslara giriş icazəsi verildiyini uyğun başlıqları təyin Giriş-nəzarət-İcazə ver-mənşə etməklə müəyyən edin.
    2. Uçuş öncəsi sorğuların idarə olunması: OPSİYONLAR Metodla edilən preflight sorğularına düzgün cavab verin, mürəkkəb CORS sorğularının problemsiz işləməsini təmin edin.
    3. Credentials-in idarə olunması: Giriş-nəzarət-İcazə verin-etimadnamələr kukilər və avtorizasiya başlıqları kimi etimadnamələrin göndərilməsinə icazə vermək və ya bloklamaq üçün başlıq.
    4. Debugging Alətlərindən İstifadə: Brauzer inkişaf etdirici alətlərindən istifadə edərək CORS səhvlərini aşkar edin və konfiqurasiyanı buna uyğun tənzimləyin.
    5. Təhlükəsizlik testlərinin keçirilməsi: CORS konfiqurasiyanızın təhlükəsizliyini yoxlamaq və mümkün zəiflikləri müəyyən etmək üçün mütəmadi olaraq təhlükəsizlik skanları aparın.
    6. Ən Yaxşı Təcrübələrə Əməl Etmək: Təhlükəsiz və effektiv konfiqurasiya təmin etmək üçün CORS üçün ən yaxşı təcrübə qaydalarına əməl edin.

    CORS veb təhlükəsizliyinin vacib hissəsidir və düzgün konfiqurasiya edildikdə veb tətbiqlərin təhlükəsizliyini əhəmiyyətli dərəcədə artıra bilər. Lakin, səhv konfiqurasiyalar və ya çatışmazlıqlar təhlükəsizlik zəifliklərinə səbəb ola bilər. Buna görə də, CORS siyasətlərini başa düşmək və düzgün tətbiq etmək veb inkişaf etdiricilər və təhlükəsizlik mütəxəssisləri üçün həyati əhəmiyyət daşıyır.

    CORS müasir veb tətbiqlərin qorunması üçün əvəzolunmaz bir vasitədir. Düzgün konfiqurasiya olunmuş CORS siyasətləri icazəsiz girişin qarşısını alaraq istifadəçi məlumatlarını qoruyur.

    CORS haqqında ümumi yanlış təsəvvürlər

    Mənşəyin Kəsişməsi Paylaşma (CORS) veb inkişaf etdiricilər arasında tez-tez yanlış başa düşülən mövzudur. Bu anlaşılmazlıqlar lazımsız təhlükəsizlik narahatlıqlarına və ya səhv konfiqurasiyalara səbəb ola bilər. CORS-un nə etdiyini və nə etmədiyini aydın başa düşmək veb tətbiqlərinizin təhlükəsizliyi və funksionallığını təmin etmək üçün çox vacibdir.

    Bir çox inkişaf etdirici CORS-u bir növ firewall kimi qəbul edir. Lakin bu doğru deyil. CORS brauzerlər tərəfindən tətbiq olunan təhlükəsizlik mexanizmidir və serverə müəyyən resurslara giriş verdiyi domenləri təyin etməyə imkan verir. Zərərli hücumların qarşısını almaq əvəzinə, CORS müştəri tərəfində icazəsiz resurslara çıxışı məhdudlaşdırır.

      Yanlış Təsəvvürlər və Həqiqətlər

    • Səhifə: CORS vebsaytları bütün mənşə hücumlarından qoruyur. DÜZDÜR: CORS yalnız brauzerlər tərəfindən həyata keçirilən və server tərəfindən müəyyən edilmiş siyasətlərə uyğun olan sorğuları məhdudlaşdırır.
    • Səhifə: CORS-u deaktiv etmək saytımı daha təhlükəsiz edir. DÜZDÜR: CORS-un deaktiv edilməsi saytınızı saytlararası skript (XSS) kimi hücumlara qarşı daha həssas edə bilər.
    • Səhifə: CORS yalnız GET sorğularına aiddir. DÜZDÜR: O, həmçinin CORS, PUT, POST, DELETE kimi digər HTTP metodları üçün də keçərlidir.
    • Səhifə: CORS səhvləri həmişə server tərəfində problem olduğunu göstərir. DÜZDÜR: CORS səhvləri həm server, həm də müştəri tərəfi konfiqurasiyalarından qaynaqlana bilər.
    • Səhifə: CORS eyni domendəki sorğulara təsir etmir. DÜZDÜR: CORS protokol (http/https), domen adı və portda fərqlər olduqda ortaya çıxır.

    Aşağıdakı cədvəl CORS ilə bağlı bəzi ümumi ssenariləri və bu ssenarilərdə düzgün konfiqurasiyaları ümumiləşdirir. Bu cədvəl sizə CORS-u düzgün başa düşməyə və tətbiq etməyə kömək edəcək.

    Ssenari Təsvir Tələb olunan CORS Başlığı
    Sadə Sorğu (GET, HEAD) Sadə bir GET və ya HEAD sorğusu cross-origin-dən. Giriş-nəzarət-İcazə ver-mənşə: * və ya konkret domen adı
    Uçuş öncəsi sorğu (SEÇİMLƏR) PUT və ya DELETE kimi metodlarla edilən və xüsusi başlıqlar ehtiva edən sorğular. Giriş-nəzarət-İcazə ver-mənşə: *, , Access-Control-Allow-Methods: PUT, DELETEAccess-Control-Allow-Headers: Content-Type
    Sertifikatlar Kukilər və ya avtorizasiya başlıqları ehtiva edən sorğular. Access-Control-Allow-Origin: belirli bir alan adı, Giriş-nəzarət-İcazə verin-etimadnamələr: doğrudur
    İstənilən Domenə İcazə Verin Bütün domenlərdən sorğulara icazə verməyin. Giriş-nəzarət-İcazə ver-mənşə: * (Ehtiyatla istifadə olunmalıdır, çünki təhlükəsizlik zəifliyi yarada bilər)

    CORS-un düzgün başa düşülməsi veb tətbiqlərinizin təhlükəsizliyini və funksionallığını artırmaq üçün əsasdır. Buna görə də CORS haqqında yanlış təsəvvürləri aradan qaldırmaq və düzgün təcrübələr tətbiq etmək vacibdir. Unutmayın ki, CORS əlavə təhlükəsizlik qatı təmin etsə də, müstəqil təhlükəsizlik həlli deyil. Bu, digər təhlükəsizlik tədbirləri ilə birlikdə istifadə edilməlidir.

    CORS haqqında bilməli olduğunuz əsas məqamlar

    Mənşəyin Kəsişməsi Paylaşma (CORS) müasir veb tətbiqlərin qorunması üçün kritik mexanizmdir. Əsasən, o, veb səhifənin başqa domendən olan resurslara (məsələn, JavaScript, şriftlər, şəkillər) necə çıxış etdiyini idarə edir. Brauzerlər standart olaraq eyni Eyni Mənşə Siyasətini tətbiq edir ki, bu da bir mənbədən digərinə girişi məhdudlaşdırır. CORS bu məhdudiyyətləri rahatlıqla yumşaldır və inkişaf etdiricilərə çeviklik verir.

    CORS-un necə işlədiyini anlamaq üçün HTTP başlıqlarını yoxlamaq vacibdir, çünki bu başlıqlar serverin müştəriyə hansı mənşələrə icazə verdiyini göstərir. Məsələn, Giriş-nəzarət-İcazə ver-mənşə başlıq hansı mənbələrin resursa daxil ola biləcəyini göstərir. Əgər bu başlıqda müştərinin başlanğıcı göstərilirsə və ya joker kart (*) istifadə olunarsa, giriş icazəlidir. Lakin, həssas məlumatlarla wildcard istifadə etmək təhlükəsizlik riskləri yarada bilər.

    CORS Başlıqları və Mənaları

    Başlıq Adı Təsvir Nümunə Qiymətləndirmə
    Giriş-İzah-İcazə Verildi-Müzakirə Mənbəyə çıxış əldə edə bilən mənbələri göstərir. https://example.com, *
    İcazənin verilməsi üçün giriş üsulları İcazə verilən HTTP metodlarını göstərir. GÖTÜR, PAYLAŞ, QOY
    Giriş-Giriş-Giriş-İcazə Başlıqları İcazə verilən başlıqları göstərir. Content-Type, Authorization
    Giriş-Nəzarət-Açıq-Başlıqlar Müştəriyə göstəriləcək başlıqları göstərir. X-Custom-Header

    CORS səhvləri inkişaf prosesində tez-tez rast gəlinən problemlərdir. Bu səhvlərin əsas səbəbi serverin düzgün CORS başlıqlarını göndərməməsidir. Adətən brauzer konsolunda səhv mesajları görünür və problemin mənbəyini anlamağa kömək edir. Bu səhvləri aradan qaldırmaq üçün server tərəfində düzgün konfiqurasiyaları etmək və lazımi başlıqları əlavə etmək lazımdır.

      CORS-a aparılmalı olanlar

    1. Server tərəfində düzgün Giriş-nəzarət-İcazə ver-mənşə başlığı təyin edin.
    2. Həssas məlumatlarla işləyərkən joker kartlardan (*) istifadə etməkdən çəkinin.
    3. İcazə verilən HTTP metodlarını aydın şəkildə göstərin (Giriş-nəzarət-icazə vermək-metodları).
    4. İcazə verilən başlıqları (Giriş-nəzarət-İcazə ver-başlıqlar) düzgün konfiqurasiya edin.
    5. Uçuş öncəsi sorğuların düzgün işləndiyinə əmin olun (OPTIONS sorğusu).
    6. Səhv olarsa, problemin mənbəyini tapmaq üçün brauzer konsolunu yoxlayın.
    7. Lazım olduqda CORS proxy serverlərindən istifadə etməklə problemləri aradan qaldırın.

    Qeyd etmək vacibdir ki, CORS yalnız təhlükəsizlik mexanizmi deyil, həm də veb tətbiqlərin funksionallığını artıran bir alətdir. Düzgün konfiqurasiya olunduqda, müxtəlif mənbələrdən məlumat çəkib paylaşmaq imkanı ilə daha zəngin və interaktiv veb təcrübələr yaradıla bilər. Lakin potensial riskləri minimuma endirmək və həmişə təhlükəsizlik tədbirlərinə üstünlük vermək vacibdir.

    Tezis-tezis sualları

    Niyə CORS veb tətbiqlərin təhlükəsizliyi üçün bu qədər vacibdir?

    CORS brauzer əsaslı veb tətbiqlərin müxtəlif mənbələrdən (domen, protokol, port) məlumat əldə etməsini nəzarətdə saxlayır və zərərli vebsaytların istifadəçi məlumatlarına çıxışını əngəlləyir. Bu, istifadəçi məxfiliyini və tətbiq bütövlüyünü qoruyur. Əsasən, o, firewall kimi fəaliyyət göstərir.

    CORS-un inkişaf prosesi necə yarandı və hansı ehtiyaclardan qaynaqlandı?

    CORS veb tətbiqlərin API-lərə getdikcə artan çıxışı ilə yaranan ehtiyacdan doğdu. Eyni Mənşə Siyasəti bəzi hallarda çox məhdudlaşdırıcı idi və inkişaf etdiricilərə müxtəlif domenlərdən məlumatları təhlükəsiz şəkildə mübadilə etməyə imkan verən mexanizm lazım idi. O, W3C tərəfindən standartlaşdırıldı və zamanla veb brauzerlər tərəfindən qəbul edildi.

    CORS-dan istifadə etmək əvəzinə hansı alternativ metodlar üstünlük verilə bilər və CORS-un digər üstünlükləri nələrdir?

    JSONP (JSON with Padding) kimi metodlar CORS-a alternativ kimi istifadə oluna bilər. Lakin JSONP yalnız GET sorğularını dəstəkləyir və daha az təhlükəsizdir. CORS həm GET, həm də digər HTTP metodlarını (POST, PUT, DELETE və s.) dəstəkləyir və daha təhlükəsiz mexanizm təklif edir. Bundan əlavə, CORS server tərəfində daha çox incə tənzimləməyə imkan verir.

    CORS konfiqurasiyasını daha anlaşılan etmək üçün ən əsas addımlar hansılardır və nəzərə alınmalı məqamlar nələrdir?

    CORS konfiqurasiyasının əsas addımlarına server tərəfində 'Access-Control-Allow-Origin' başlığının təyin edilməsi daxildir. Bu başlıq resursa hansı domenlərin daxil ola biləcəyini göstərir. Ən vacib məqam odur ki, '*' simvolunun istifadəsi nəzarət altındadır. Əgər tələb olunmursa, xüsusi domenlər göstərilməlidir.

    Preflight sorğusu (OPTIONS sorğusu) dəqiq olaraq nədir və onun CORS mexanizmində rolu nədir?

    Preflight sorğusu, brauzerin orijinal sorğunu serverə göndərməzdən əvvəl etdiyi preflightdır. OPTIONS metodundan istifadə edir və serverdən orijinal sorğunun (məsələn, POST) edilməsinə icazə verilib-verilmədiyini soruşur. Bu, xüsusilə 'sadə sorğu' olmayan sorğular üçün təhlükəsizlik tədbiri kimi istifadə olunur. Əgər server bu sorğuya uyğun CORS başlıqları ilə cavab verərsə, əsl sorğu göndərilir.

    Ümumi CORS səhvlərinin ən açıq səbəbləri hansılardır və bu səhvləri düzəltmək üçün praktik həllər hansılardır?

    CORS səhvlərinin ümumi səbəblərinə server tərəfində səhv və ya çatışmayan CORS başlıqları, domen uyğunsuzluğu və preflight uğursuzluğu daxildir. Həll tövsiyələrinə server tərəfi CORS başlıqlarının yoxlanılması, icazə verilən domenlərin düzgün konfiqurasiyası və preflight sorğusunun uğurla tamamlanmasını təmin etmək daxildir.

    CORS-un təhlükəsizliyini artırmaq üçün hansı qabaqcıl texnikalar və strategiyalar tətbiq oluna bilər?

    CORS-un təhlükəsizliyini artırmaq üçün əlavə təhlükəsizlik tədbirləri tətbiq edilə bilər, məsələn, 'Access-Control-Allow-Credentials' başlığından diqqətlə istifadə etmək, müştəri tərəfində yalnız lazımi başlıqların 'Access-Control-Expose-Headers' başlığı, 'Origin' başlığının server tərəfi yoxlanılması və Subresource Integrity (SRI) ilə əlçatan edilməsi.

    Proqramçılar arasında CORS haqqında ən çox rast gəlinən yanlış anlamalar hansılardır və bu yanlış təsəvvürləri aradan qaldırmaq üçün nə demək olar?

    CORS haqqında ən çox rast gəlinən yanlış təsəvvür budur ki, '*' dəyəri 'hər kəsə icazə verin' deməkdir və həmişə təhlükəsizdir. Bu doğru deyil. '*' dəyəri giriş məlumatları tələb edən və potensial təhlükəsizlik riskləri yaradan sorğularda istifadə edilə bilməz. İnkişaf etdiricilər üçün konkret domenləri müəyyən etmək və 'Access-Control-Allow-Credentials' başlığının mənasını tam başa düşmək vacibdir.

    Yenilənmiş məlumat: MDN Web Docs: Mənşələrarası Resurs Paylaşımı (CORS)

    Bu məqaləni paylaşın:

    Hostragons Komandası

    Hostinq, serverlər və domen adları üzrə ekspert komandamızdan ən son təlimatlar. Gəlin layihəniz üçün düzgün həlli birlikdə tapaq.

    Bizimlə Əlaqə