Przejdź do treści

Narzędzia CometWeb

Generator CSP

Zbuduj Content-Security-Policy · lokalnie w przeglądarce

DarmoweBez zakładania konta
Dyrektywy
Przegląd polityki

Bez uwag — polityka wygląda solidnie.

Content-Security-Policy: default-src 'self';
  script-src 'self';
  style-src 'self';
  img-src 'self' data:;
  font-src 'self';
  connect-src 'self';
  frame-ancestors 'none';
  form-action 'self';
  base-uri 'self';
  object-src 'none';
  upgrade-insecure-requests

Generator CSP składa nagłówek Content-Security-Policy z wybranych dyrektyw i wskazuje wartości, które realnie osłabiają politykę: niecytowane słowa kluczowe, unsafe-inline w skryptach, gwiazdkę i brakujące dyrektywy obronne. Ocenia treść polityki, nie stronę — czy strona się pod nią załaduje, powie tylko przeglądarka.

Co osłabia politykę CSP?

Apostrofy nie są kosmetyką. script-src self i script-src 'self' to dwie różne polityki: pierwsza dopuszcza host o nazwie „self”, którego nie ma, więc realnie blokuje wszystko albo nic — zależnie od reszty. To najczęstszy cichy błąd w CSP.

unsafe-inline w script-src znosi sens polityki. CSP chroni głównie przed wykonaniem wstrzykniętego skryptu inline; dopuszczenie ich z powrotem zostawia tę furtkę otwartą. Jeśli nie da się inaczej, użyj nonce albo hasha — wtedy nowoczesne przeglądarki i tak zignorują unsafe-inline.

Trzy dyrektywy są łatwe do pominięcia i warte dodania: base-uri zamyka wstrzyknięcie znacznika base, frame-ancestors zastępuje X-Frame-Options, a object-src 'none' odcina stary wektor przez wtyczki.

Narzędzie przegląda tekst polityki. Czy Twoja strona się pod nią załaduje, zależy od tego, co realnie pobiera — sprawdź to trybem Report-Only, zanim włączysz politykę na twardo.

Najpierw obserwuj naruszenia

Przygotuj politykę dla zasobów faktycznie używanych przez stronę. Przetestuj ją na środowisku testowym jako Content-Security-Policy-Report-Only. Przejdź logowanie, formularze, płatności i integracje; sam widok strony głównej nie wystarczy.

MDN · Content Security Policy ↗

Elementy polityki

''Słowa kluczowe
'self', 'none', 'unsafe-inline' wymagają apostrofów. Bez nich są czytane jako nazwy hostów.
NNonce
Jednorazowy token na znaczniku script. Obecność nonce unieważnia unsafe-inline w nowoczesnych przeglądarkach.
FAframe-ancestors
Kto może osadzić Twoją stronę w ramce. Nowoczesny odpowiednik X-Frame-Options.
ROReport-Only
Polityka zgłasza naruszenia, ale niczego nie blokuje. Sposób na bezpieczne wdrożenie.
To narzędzie łata jeden problem naraz

TLS, nagłówki, cookies i ekspozycja — z rozkładem wyniku i planem naprawy.