Apache və Nginx-də CORS-u necə aktivləşdirmək olar?

CORS başlığını istifadə edərək saytlar arasında qaynaq mübadiləsini məhdudlaşdırın və ya icazə verin.


CORS (Cross-Origin Resource Sharing) başlığı bütün müasir brauzerlərdə dəstəklənir.

Korslardan istifadə edə bilərəmmi?? Caniuse.com-dan olan əsas brauzerlərdə cors xüsusiyyətini dəstəkləyən məlumatlar.

Varsayılan olaraq, brauzer skriptlər vasitəsilə çapraz mənşəli HTTP tələblərini məhdudlaşdırır. Və, CORS digər veb tətbiqlərdəki ümumi tətbiq qaynaqlarından yenidən istifadə etmək üçün əlverişli ola bilər. Düzgün əlavə edildikdən sonra brauzerə tətbiqini fərqli bir mənşəli yükləməyi tapşırır.

Bir serverin göndərə biləcəyi altı məşhur CORS başlığı var. Gəlin bunları araşdıraq.

Giriş-İdarə etmə-İcazə

Brauzerə icazə verilən mənbə üzərində yükləməyi söylədiyi ən populyar. Bu wildcard (*) dəstəkləyir və istənilən domen resursları yükləyə bilər. Bununla birlikdə, müəyyən bir mənşəyə icazə vermək üçün bir seçim var.

Apache

Aşağıdakıları httpd.conf ya da istifadə üçün istifadə edilə bilən başqa bir konfiqurasiya faylına əlavə edin.

Başlıq dəsti Access-Control-Allow-Origin "*"

Test etmək üçün Apache’i yenidən başladın. Onları cavab başlıqlarında görməlisiniz.

Müəyyən bir mənşədən (məsələn: https://gf.dev) icazə vermək üçün aşağıdakıları istifadə edə bilərsiniz.

Başlıq dəsti Access-Control-Allow-Origin "https://gf.dev"

Nginx

Budur https://geekflare.dev mənşəyinə icazə vermək üçün bir nümunə. Nginx.conf və ya istifadə konfiqurasiya faylının server blokuna aşağıdakıları əlavə edin.

add_header Giriş-İdarə etmə-İcazə "https://geekflare.dev";

Giriş-İdarəetmə-İzləmə metodları

Brauzer, mənbələrə daxil olmaq üçün bir və ya daha çox HTTP metodunu işə sala bilər. Misal: – Get, PUT, Seçimlər, PUT, Sil, POST

Apache

Yalnız GET və POST’a icazə vermək.

Başlıq əlavə et-İdarəetmə-İzləmə metodları əlavə edin "Get, POST"

Nginx

Deyək ki, DELETE və OPTIONS metodlarını əlavə etməlisiniz, sonra aşağıdakı kimi əlavə edə bilərsiniz.

add_header Giriş-İdarə etmə-İzləmə metodları "TƏMİZLƏYİN, seçimlər";

Yenidən başladıqdan sonra onları cavab başlıqlarında görməlisiniz.

Giriş-İdarəetmə-İcazə başlıqları

Aşağıdakı başlıqlar etibarlı siyahıdadır, bir əlavə etməyiniz lazım deyil. Defolt olaraq işləməlidir.

  • Məzmun tipi
  • Qəbul edin
  • Məzmun dili
  • Qəbul-Dil

Bununla birlikdə, xüsusi bir əlavə etməlisinizsə, bunu edə bilərsiniz. Bir və ya daha çox başlığı dəstəkləyir.

Apache

X-Custom-Header və X-Powered-By başlıqlarına icazə vermək istədiyinizi söyləyin.

Başlıq həmişə Access-Control-Allow-Headers təyin edir "X-Xüsusi Başlıq, X-Powered-by"

Yenidən başladıqdan sonra nəticəni cavab başlıqlarında görməlisiniz.

Nginx

X-Müştəri-Proqram və X-My-Custom başlığını əlavə etmək nümunəsi.

add_header Giriş-İdarəetmə-İcazə başlıqları "X-Xüsusi-Proqram, X-My-Custom";

Giriş-İdarəetmə-Açıq-başlıqlar

Aşağıdakı başlıqlar artıq təhlükəsiz siyahıdır. Demək, onları ifşa etmək istəsəniz əlavə etməyinizə ehtiyac yoxdur.

  • Bitir
  • Praqma
  • Cache-Nəzarət
  • Son modifikasiya olunmuşdur
  • Məzmun dili
  • Məzmun tipi

Təhlükəsiz siyahıdan başqa ehtiyacınız varsa, bunlara aşağıdakı kimi icazə verə bilərsiniz.

Apache

Bütün başlıqları açmaq üçün bir işarədən istifadə edin.

Başlıq həmişə Access-Control-Expose-Headers təyin etdi "*"

Qeyd: bir joker hələ Avtorizasiya başlığını açıqlamır və ehtiyacınız varsa, açıqca qeyd etməlisiniz.

Başlıq həmişə Access-Control-Expose-Headers təyin etdi "Avtorizasiya, *"

Nəticə belə görünməlidir.

Nginx

Mənşə başlığını ifşa etmək istəyirsinizsə.

add_header Giriş-İdarəetmə-İzləmə-başlıqlar "Mənşəyi";

Giriş-İdarəetmə-Maks-Yaş

Access-Control-Allow-Headers və Access-Control-Allow-Methods başlıqlarından məlumatların yaddaşa verilə biləcəyini bilirsinizmi? Firefox-da 24 saata, Chrome-da 2 saata (76+) saxlanıla bilər.

Keshləmə deaktiv etmək üçün dəyəri -1 olaraq saxlaya bilərsiniz

Apache

15 dəqiqə saxlamağa.

Başlıq həmişə Access-Control-Max-Age təyin edir "900"

Gördüyünüz kimi, dəyər saniyələrdədir.

Nginx

Bir saat saxlamağa.

add_header Giriş-İdarəetmə-Maks-Age "3600";

Əlavə edildikdən sonra nəticələri görmək üçün Nginx-i yenidən başladın.

Giriş-İdarə etmə-İcazə etmə sənədləri

Burada qurmaq üçün yalnız bir seçim var – doğrudur. Bu, çərəzlər, TLS sertifikatları, avtorizasiya kimi etimadnamələrinizi ifşa etmək istəsəniz icazə verir.

Apache

Başlıq həmişə Access-Control-Allow-Etibar etmə sənədlərini təyin edir "doğru"

Nginx

add_header Giriş-İdarə etmə-İcazə etmə sənədləri "doğru";

və nəticə.

Nəticələri yoxlamaq

Lazımi başlıqlar əlavə olunduqdan sonra brauzerinizdə quraşdırılmış geliştirici alətlərindən istifadə edə bilərsiniz onlayn HTTP başlığı yoxlayıcı.

Nəticə

Ümid edirəm ki, yuxarıdakılar daha yaxşı təhlükəsizlik üçün Apache HTTP və Nginx veb serverindəki CORS başlıqlarını tətbiq etməyə kömək edəcəkdir. OWASP tövsiyə olunan etibarlı başlıqların tətbiqi ilə də maraqlana bilərsiniz.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map