Wyobraź sobie, że Twoje zdjęcia, skrypty czy dokumenty na stronie to cenne przedmioty w Twoim domu. A teraz pomyśl, że ktoś z sąsiedztwa – inna strona internetowa – może je sobie wziąć bez pytania. Brzmi nie fair, prawda? Cross-Origin-Resource-Policy, czyli CORP, to nagłówek HTTP, który stawia szlaban na takie podbieranie. Mówi przeglądarce: „Moje zasoby są tylko dla mnie, chyba że powiem inaczej!”. Dlaczego to ważne? Sprawdźmy.
Co to jest CORP i jak działa?
CORP kontroluje, które strony mogą ładować Twoje zasoby (np. obrazy, skrypty, pliki) w kontekście międzydomenowym (cross-origin). Bez tego nagłówka obca witryna może bez problemu osadzić Twój plik w swoim <img> czy <script>. Ustawienie CORP wygląda tak:
Cross-Origin-Resource-Policy: same-origin- same-origin: Zasoby dostępne tylko dla tej samej domeny.
- same-site: Dla tej samej witryny (uwzględnia subdomeny w ramach tej samej głównej domeny).
- cross-origin: Pozwala wszystkim, ale z ograniczeniami (rzadko używane).
Działa to na poziomie przeglądarki, blokując żądania, które nie spełniają polityki.
Jakie zagrożenia eliminuje?
- Kradzież zasobów: Atakujący mogą osadzić Twój obrazek czy skrypt na swojej stronie, zużywając Twoją przepustowość i narażając Cię na koszty.
- Wyciek danych: Jeśli zasób zawiera wrażliwe informacje (np. JSON z danymi użytkownika), obca strona lub automat może go załadować i przechwycić.
- Ataki typu Spectre: CORP pomaga w ochronie przed exploitami na poziomie procesora, które wykorzystują nieautoryzowany dostęp do zasobów (choć to bardziej zaawansowany scenariusz).
Korzyści ze stosowania
- Bezpieczeństwo: Twoje zasoby zostają tam, gdzie powinny – u Ciebie, a nie u atakujących.
- Oszczędność: Ograniczasz niepotrzebne obciążenie serwera przez obce witryny.
- Prywatność: Chronisz dane w zasobach przed wyciekiem na inne domeny.
- Nowoczesność: To część nowej fali nagłówków (Chrome 73+, Firefox 85+), pokazująca, że idziesz z duchem czasu.
Jak to skonfigurować?
Prosto i szybko:
- Nginx:
add_header Cross-Origin-Resource-Policy "same-origin" always; - Apache:
Header set Cross-Origin-Resource-Policy "same-origin"
Jeśli chcesz zezwolić na dostęp z konkretnych domen, możesz użyć Cross-Origin-Resource-Sharing (CORS) zamiast CORP, ale to inna historia która będzie omówiona tutaj.
Potencjalne pułapki
- Zbyt luźna polityka: cross-origin praktycznie wyłącza ochronę – używaj tylko w specyficznych przypadkach.
- Konflikt z funkcjonalnością: Jeśli Twoja strona celowo udostępnia zasoby (np. CDN), same-origin może zablokować legalne użycie – testuj ostrożnie.
- Wsparcie przeglądarek: Starsze wersje (np. IE) tego nie obsłużą, ale i tak rzadko wspierają cross-origin w nowoczesny sposób.
Przykład z życia
W 2021 roku mały sklep online zauważył, że jego zdjęcia produktów były masowo osadzane na podejrzanych stronach, co wygenerowało ogromny ruch i koszty serwera. Po dodaniu Cross-Origin-Resource-Policy: same-origin problem zniknął – obce witryny straciły dostęp, a ruch wrócił do normy.
Dlaczego warto zacząć już dziś?
CORP to jak znak „Wstęp wzbroniony” na Twoich zasobach – mały, ale skuteczny sposób, by powiedzieć atakującym: „Tu nie buszujesz!”. To kilka minut konfiguracji, a zyskujesz spokój, że Twoje pliki nie wędrują po obcych stronach. To kolejna cegiełka w fundamencie bezpieczeństwa Twojej strony– jeśli nie masz CORP, czas to nadrobić!
Twoja strona to Twój teren – zabezpiecz go. Cross-Origin-Resource-Policy to prosty krok, który pokazuje, że kontrolujesz, co się dzieje. Gotowy, by go włączyć?


