Logo David Burdelak
Słownik · Cyberbezpieczeństwo

Co to jest CORS?

Ostatnia aktualizacja:

CORS (Cross-Origin Resource Sharing) to mechanizm przeglądarki, który określa, czy skrypt z jednej domeny może odczytać odpowiedź z innej domeny. Domyślnie przeglądarka blokuje takie odczyty zgodnie z zasadą same-origin.

Jak to działa?

Serwer w nagłówku Access-Control-Allow-Origin wskazuje domeny, którym zezwala na odczyt odpowiedzi. Dla niektórych żądań przeglądarka najpierw wysyła zapytanie wstępne (preflight, metoda OPTIONS).

Typowe błędy

  • ustawienie * dla API wymagającego uwierzytelnienia,
  • odbijanie dowolnej wartości nagłówka Origin,
  • traktowanie CORS jako zabezpieczenia API — chroni on tylko przed odczytem w przeglądarce, nie przed samym wysłaniem żądania.

Mechanizm opiera się na nagłówkach, np. Access-Control-Allow-Origin, które serwer zwraca przeglądarce. CORS nie chroni serwera przed żądaniami spoza przeglądarki, więc nie zastępuje uwierzytelniania. Unikaj wartości * dla zasobów wymagających logowania.

Dlaczego widzę błąd CORS w konsoli?

Przeglądarka zablokowała odczyt odpowiedzi, bo serwer nie zezwolił na Twoją domenę. Problem rozwiązuje się po stronie serwera, a nie w kodzie klienta.

Wywołanie adresu niedozwoloną metodą HTTP serwer odrzuca, zwracając błąd 405 Method Not Allowed.

Zobacz w praktyce

Powiązane pojęcia

Wszystkie hasła z kategorii Cyberbezpieczeństwo