Wpisy

projektowanie stron - security

Permissions Policy

Permissions Policy, czyli Polityka uprawnień

Permissions Policy, czyli Polityka uprawnień jest jednym z nagłówków opisanych przeze mnie w artykule Nagłówki bezpieczeństwa.
Z założenia moja strona ma być WordPressem dla laików. Jednakże dla tych, którzy chcieliby trochę więcej dowiedzieć się o nagłówkach bezpieczeństwa, postaram się tematykę przybliżyć w kolejnych wpisach.

Nagłówek HTTP Permissions-Policy zastąpił istniejący dotychczas nagłówek Feature-Policy, który służył do kontroli delegacji uprawnień i zaawansowanych funkcji. Nagłówek ten używa ustrukturyzowanej składni i pozwala witrynom na ściślejsze ograniczenie tego, które źródła mogą uzyskać dostęp do funkcji.

Najważniejsze funkcje Permissions policy

Nagłówek Permissions Policy pozwala na precyzyjną kontrolę tego, z jakich funkcji przeglądarki może korzystać Twoja witryna. Istnieje wiele dyrektyw, które można kontrolować za pomocą nagłówka Permissions Policy. Ponieważ nie wszystkie dostępne funkcje są oczywiste, poniżej przedstawiam krótki opis poszczególnych dyrektyw:

  • Accelerometer: Zezwala lub zabrania żądania informacji o przyspieszeniu urządzenia,
  • Autoplay: Zezwala lub zabrania automatycznego odtwarzania mediów (wymagane przez interfejs HTMLMediaElement),
  • Camera: Zezwala lub zabrania korzystania z urządzeń wejściowych wideo,
  • Encrypted-media: Zezwala lub zabrania korzystania z interfejsu API “Encrypted Media Extensions” w celu kontrolowania odtwarzania treści podlegających cyfrowemu systemowi zarządzania ograniczeniami,
  • Fullscreen: Zezwala lub zabrania ramkom typu cross- i same-origin używania trybu pełnoekranowego,
  • Geolocation: Zezwala lub zabrania korzystania z interfejsu geolokalizacji,
  • Gyroscope: Zezwala lub zabrania zbierania informacji o orientacji urządzenia (za pomocą pomiarów przesunięcia kątowego wzdłuż trzech osi),
  • Magnetometer: Zezwala lub zabrania zbierania informacji o orientacji urządzenia (wykrywanej przez główny czujnik magnetometru urządzenia),
  • Microphone: Zezwala lub zabrania korzystania z urządzeń wejściowych audio,
  • Midi: Zezwala lub zabrania korzystania z interfejsu Web MIDI API, który zawiera metody wyświetlania i żądania informacji z podłączonych urządzeń MIDI,
  • Payment: Zezwala lub zabrania korzystania z API Payment Request (ma na celu zmniejszenie liczby kroków potrzebnych do ukończenia płatności poprzez zapamiętywanie informacji o płatności),
  • Picture-in-picture: Zezwala lub zabrania odtwarzania filmów w trybie Obraz w obrazie (Picture-in-Picture),
  • Sync-xhr: Zezwala lub zabrania synchronicznym żądaniom XMLHttpRequest na pobieranie danych z adresu URL bez konieczności pełnego odświeżania strony,
  • USB: Zezwala lub zabrania korzystania z interfejsu API WebUSB,
  • New Interest-cohort: Służy do uniemożliwienia Google wykorzystania Twojej witryny do fingerprintingu przeglądarki w ramach procesu FLoC. FLoC jest skrótem od Federated Learning of Cohorts, czyli metody pozwalającej grupować użytkowników internetu i docelowo tworzyć reklamy kierowane. Z założenia ma to nie pozyskiwać w oczywisty sposób informacji o pojedynczych osobach. Więcej w artykule Google chce cię “śledzić” przez FLoC, a nie ciasteczka. To ma być krok w stronę prywatności.

Wartości dyrektyw nagłówka Polityki uprawnień

Każda dyrektywa może mieć jedną z tych poniższych wartości:

  • *
  • ‘self’
  • ‘none’
  • <origin(s)>

W następnym kroku rozłożymy je na czynniki pierwsze i przyjrzyjmy się dokładnie temu, na co pozwoli każda z nich:

  • * – pozwoli bieżącej stronie korzystać z funkcji i wszelkich innych kontekstów przeglądania zagnieżdżonych wewnątrz niej, takich jak iframe;
  • ‘self’ – pozwoli bieżącej stronie na użycie funkcji i wszelkich innych kontekstów przeglądania zagnieżdżonych wewnątrz niej, takich jak iframe, tylko jeśli pochodzą z tego samego źródła, więc na przykład ramka własnej strony na swojej stronie;
  • ‘none’ – ta funkcja będzie wyłączona dla bieżącej strony i wszelkich zagnieżdżonych kontekstów przeglądania, takich jak iframe;
  • <origin(s)> – tylko określone źródła będą mogły używać tej funkcji. Na przykład https://example.com lub https://example.net, https://example.org.

Mam nadzieję, że w tym artykule w sposób w miarę czytelny przybliżyłem jeden z nagłówków, jakim jest Permissions Policy. Gdy skonfigurujemy go w odpowiedni dla naszej witryny sposób, to w efekcie na stronie https://securityheaders.com/ jeden z obszarów zaświeci się na zielono.

Permissions policy
Konfiguracja Permissions policy na stronie testowej

Będzie to jeden z elementów mających na celu poprawę bezpieczeństwa naszej witryny. Jest to też jeden z kroków do uzyskania końcowego efektu, jaki opisałem w artykule Strona internetowa – jak ją założyć?

Jeżeli chcesz dowiedzieć się więcej na temat powyższego nagłówka, odpowiednie informacje znajdziesz na przykład na stronie Mozilli.

zmiana dostawcy usług hostingowych

Zmiana dostawcy usług hostingowych

Na rynku funkcjonuje wiele firm oferujących usługi hostingowe. Czasem można się związać z dostawcą na dłuższy okres. Ale bywa też tak, że czeka nas zmiana dostawcy usług hostingowych. Powody mogą być różne, np. brak lub niewłaściwe wsparcie techniczne, długi czas oczekiwania w przypadku zgłoszeń, niezadowalające parametry techniczne, wzrost cen usług itp.

Jeżeli decydujemy się na zmianę, to możemy przed zawarciem umowy bezpłatnie przetestować interesujący nas hosting. Firmy zazwyczaj dają 14 dni na bezpłatne testowanie, choć może się zdarzyć, że okres ten będzie krótszy, np. 7 dni. Wydaje się, że jest to odpowiedni czas na sprawdzenie tego, co nas interesuje – w moim przypadku jest to funkcjonalność, szybkość wczytywania stron, bezpieczeństwo oraz cena. Niektórzy dostawcy w swojej ofercie mają tzw. dedykowany hosting WordPress, który różni się od standardowego tym, że posiada zainstalowaną aktualną wersję WordPressa. Pozostałe parametry są identyczne. Jest to z pewnością ułatwienie dla tych, którzy nie chcą samodzielnie go instalować.

Ja właśnie zdecydowałem się na zmianę dostawcy usług hostingowych – powód był czysto ekonomiczny. Znalazłem ofertę z podobnymi parametrami, ale tańszą. Zleciłem bezpłatnie przeniesienie domeny oraz migrację strony, tak jak wspominałem w artykule Strona internetowa – jak ją założyć?

Później przystąpiłem do przeprowadzenia testów – tymi samymi narzędziami, o których wspominałem w powyższym artykule.

Wyniki przedstawiają się następująco:

1) PageSpeed Insights (w nowej szacie graficznej)

zmiana dostawcy usług hostingowych 1
wersja na komórki
zmiana dostawcy usług hostingowych 2
wersja na komputery

2) GTmetrix

zmiana dostawcy usług hostingowych 3

3) sprawdzenie bezpieczeństwa nagłówków:

nagłówki bezpieczeństwa - zmiana hostingu

Zmiana dostawcy usług hostingowych – podsumowanie

Jak widać, wyniki są na zbliżonym poziomie. W testach PageSpeed Insihhts i GTmetrix zmiana dostawcy usług hostingowych okazała się minimalnie korzystniejsza. Każdy powinien jednak sam zdecydować, czego oczekuje od hostingu.

Jeżeli zainteresowały Cię usługi hostingowe, możesz sprawdzić te, z których aktualnie korzystam. Znajdziesz je na stronie nazwa.pl
Możesz obniżyć koszt zakupu dowolnej usługi o 20% przechodząc na stronę przez link afiliacyjny: https://www.nazwa.pl/pp/jm39-3232-2559 lub wykorzystując poniższy voucher:

voucher

Voucher jest wielokrotnego użytku. Jeśli nie zadziała, napisz do mnie i wyślij mi printscreena – jest to konieczne do zgłoszenia reklamacji.

Serdecznie zapraszam.