Baza wiedzy

CORS (Cross-Origin Resource Sharing)

Mechanizm bezpieczeństwa w przeglądarce, który kontroluje, czy zasób z jednej domeny może zostać odczytany przez skrypt działający na innej domenie.

← Wróć do bazy wiedzy

Na czym polega CORS



Domyślnie przeglądarki blokują wiele żądań między różnymi originami (origin = protokół + domena + port). Oznacza to, że aplikacja działająca pod jednym adresem nie może swobodnie odczytywać odpowiedzi API z innej domeny.




CORS pozwala serwerowi jawnie określić, które originy mogą uzyskać dostęp do zasobu. Robi to przez nagłówki HTTP, takie jak Access-Control-Allow-Origin, Access-Control-Allow-Methods i Access-Control-Allow-Headers.



Typowe scenariusze



  • frontend w React lub Vue pobiera dane z osobnego API,

  • zewnętrzna aplikacja komunikuje się z API platformy,

  • widget osadzony na stronie odwołuje się do zasobów z innej domeny.



Preflight request



Dla bardziej złożonych żądań przeglądarka najpierw wysyła zapytanie OPTIONS, aby sprawdzić, czy serwer zezwala na daną operację. To tak zwany preflight request.



Najczęstsze błędy



  • ustawienie Access-Control-Allow-Origin: * tam, gdzie wymagane są dane wrażliwe,

  • brak obsługi żądań OPTIONS,

  • zbyt szerokie dopuszczenie metod i nagłówków.

Powiązane pojęcia
Kontakt
Masz pytanie techniczne?

Porozmawiajmy

Chętnie wyjaśnię, jak te pojęcia przekładają się na Twój projekt.

Skontaktuj się