Wszystkie kolekcje
Ankieta na stronę www
Zaawansowane
Content Security Policies dla ankiety na stronie WWW
Content Security Policies dla ankiety na stronie WWW
Artur Zbiejcik avatar
Napisane przez Artur Zbiejcik
Zaktualizowano ponad tydzień temu

Content Security Policy (CSP) to nagłówek wysyłany przez serwer WWW do przeglądarki.

Służy on do deklarowania, które zasoby dynamiczne mogą ładować się na Twojej stronie.

CSP umożliwia stworzenie listy dyrektyw określających, które zasoby zewnętrzne (bądź skrypty) mogą być używane w aplikacji. To ograniczenie ma zapobiegać atakom XSS, które dołączają do źródeł strony skrypty doczytywane z innych lokalizacji sieciowych. Wszystkie zasoby, które nie będą pasować do polityki, będą przez przeglądarkę odrzucone, a sama przeglądarka zgłosi błąd naruszenia reguł polityki.

Jeśli wykryjesz błędy CSP w swojej witrynie, Twój zespół programistów lub dostawca usług

hostingowych będzie musiał dostosować ustawienia CSP.

Dostosowanie ustawień CSP

Krok 1 - Sprawdź, czy występują błędy CSP

Jeśli widzisz problemy z wyświetlaniem ankiety na stronie WWW, czasami może to być spowodowane błędem CSP. Możesz sprawdzić konsolę swojej przeglądarki w celu znalezienia błędów. Jeśli nie wiesz jak to zrobić skorzystaj z tego poradnika.

W przypadku występienia problemu z Polityką bezpieczeństwa treści, zobaczysz błąd podobny do poniższego:

Krok 2 - Skonsultuj się ze swoim programistą lub dostawcą usług hostingowych, aby dostosować ustawienia CSP

Ponieważ wszystkie serwery są różne, zespół wsparcia Webankieta nie będzie w stanie pomóc w rozwiązaniu tych problemów poza stwierdzeniem, czy występuje błąd CSP. Podczas wprowadzania zmian w zasadach bezpieczeństwa treści najlepszą osobą, z którą należy się skontaktować, jest programista aplikacji internetowej lub osoba zarządzająca Twoją witryną.

Krok 3 - Wybierz ustawienia CSP

Poniżej przedstawiamy zestaw reguł, które należy dodać, aby umożliwić prawidłowe działanie ankiety na stronie WWW.

Wielokropek (...) w poniższych przykładach jest symbolem zastępczym wszelkich istniejących reguł, które już posiadasz:

script-src ... https://*.startquestion.com 'unsafe-inline' 'unsafe-eval'
img-src ... https://*.webankieta.pl https://*.startquestion.com data:
style-src ... 'unsafe-inline'
connect-src ... https://*.startquestion.com;

Jeżeli jednak potrzebujesz bardziej szczegółowych wpisów:

script-src ... https://library.startquestion.com https://app.startquestion.com https://files.startquestion.com
'unsafe-inline' 'unsafe-eval'
img-src ... https://files.webankieta.pl https://files.startquestion.com data:
style-src ... 'unsafe-inline'
connect-src ... https://app.startquestion.com;`

Uwaga!

W przypadku pominięcia wartości unsafe-eval , w dyrektywie script-src ankiety, które posiadają regułę Kod JavaScript nie zostaną wyświetlone.

Informacje dodatkowe

Jeżeli wartość unsafe-inline nie może zostać dodana do dyrektywy script-src zachęcamy, aby zastosować zabezpieczenie w postaci wartości nonce wg tego poradnika.

Dodawanie wartości 'nonce'

Aby dodać wartość 'nonce' do kodu widgeta należy zmodyfikować nasz snippet. Wartość 'nonce' należy dodać w dwa miejsca, które zostały pokazane na poniższym screenie:

Opis: W powyższym przykładzie wygenerowaliśmy jednorazowo wartość '6JDFIvPbrWANKpSJ8vlv6b==' dla atrybutu 'nonce'.

Aby rozwiązanie z 'nonce' zapewniało bezpieczeństwo, należy pamiętać o tym, że wartość 'nonce':

- musi być różna za każdym razem, gdy odświeżamy stronę,

- musi być odpowiednio długa (co najmniej 128 bitów),

- powinna być generowana za pomocą bezpiecznego kryptograficznie generatora liczb pseudolosowych.

Czy to odpowiedziało na twoje pytanie?