Czym jest CORS?

CORS (udostępnianie zasobów między różnymi źródłami) to mechanizm, za pomocą którego serwer informuje przeglądarki, które inne witryny mogą odczytywać jego odpowiedzi. Domyślnie JavaScript na stronie https://app.example.com może wysłać żądanie do https://api.example.com, ale przeglądarka ukryje odpowiedź, chyba że API odpowie nagłówkiem Access-Control-Allow-Origin zawierającym źródło strony lub wartość *.

W przypadku każdego żądania, które wykracza poza zwykłe żądanie GET lub proste żądanie POST z formularza, na przykład żądania PUT, DELETE albo żądania z treścią JSON i nagłówkiem Authorization, przeglądarka najpierw prosi o pozwolenie, wysyłając zapytanie wstępne (preflight): żądanie OPTIONS zawierające listę metod i nagłówków, których chce użyć. Właściwe żądanie zostanie wysłane tylko wtedy, gdy odpowiedź serwera na nie zezwoli.

Opis narzędzia

Wprowadź URL wywoływany przez stronę, źródło strony, metodę i ewentualne niestandardowe nagłówki żądania, a następnie kliknij „Sprawdź CORS”. Nasz serwer wysyła takie same żądania, jakie wysłałaby przeglądarka, i sprawdza odpowiedzi zgodnie z jej regułami:

  • Zapytanie wstępne (OPTIONS) z nagłówkami Access-Control-Request-Method i Access-Control-Request-Headers
  • Żądanie GET z nagłówkiem Origin, aby odczytać nagłówki CORS ze zwykłej odpowiedzi

Wyniki sprawdzenia pokazują, które reguły są spełnione, a które nie, a tabela zawiera wszystkie nagłówki CORS z obu odpowiedzi. Wybrana metoda nigdy nie jest wysyłana, więc sprawdzenie punktu końcowego DELETE niczego nie usuwa.

Narzędzie informuje też, czy działałyby żądania z cookies. Wymagają one dokładnego źródła zamiast * oraz nagłówka Access-Control-Allow-Credentials: true.

Asystenci AI połączeni z serwerem MCP Rapid Tool Set mogą wykonać to samo sprawdzenie za pomocą cors_checker.

Wskazówki

  • Błędy CORS pochodzą z przeglądarki, a nie z serwera. Żądanie, które działa w curl lub Postman, może nadal zostać zablokowane w przeglądarce, ponieważ te narzędzia nie stosują reguł CORS.
  • Jeśli odpowiedzią na zapytanie wstępne jest kod 401 lub 404, serwer traktuje OPTIONS jak zwykłe żądanie. Zezwól na zapytania wstępne przed sprawdzaniem uwierzytelnienia.
  • Gdy serwer wybiera dozwolone źródło dla każdego żądania, powinien również wysyłać Vary: Origin, w przeciwnym razie CDN może zwrócić jednej witrynie odpowiedź przeznaczoną dla innej.