Permissions-Policy (dawniej Feature-Policy) to nagłówek HTTP pozwalający stronie kontrolować, które funkcje przeglądarki mogą być użyte na niej oraz w osadzonych ramkach. Dotyczy m.in. dostępu do kamery, mikrofonu, geolokalizacji i płatności.
Do czego służy?
Ogranicza powierzchnię ataku: jeśli strona nie używa kamery, można ją wyłączyć, a skrypt zewnętrzny lub złośliwy iframe nie uzyska dostępu. Politykę da się też ustawić tak, by wybrane funkcje były dostępne tylko dla zaufanych domen.
Przykład zapisu
Przykładowy nagłówek: Permissions-Policy: camera=(), microphone=(), geolocation=(self). Puste nawiasy oznaczają zakaz dla wszystkich, a self pozwala tylko własnej witrynie. Lista dostępnych funkcji zmienia się w czasie i jest opisana w dokumentacji MDN.
Wdrożenie
Dodaj nagłówek w konfiguracji serwera lub aplikacji i sprawdź, czy nie wyłączasz funkcji potrzebnych w osadzonych narzędziach, takich jak mapy lub czaty. Nagłówek nie zastępuje zgód użytkownika, bo przeglądarka nadal pyta o zezwolenie.
Zagadnienie to wraca przy każdej integracji skryptów zewnętrznych, w tym przy wdrażaniu Google Tag Managera.
Zobacz w praktyce
Google Tag Manager dla programistów – jak bezpiecznie przesyłać dane ze strony bez psującego się kodu?
Plik .htaccess bez tajemnic – przydatne reguły na przyspieszenie i porządek na serwerze
Ochrona przed atakami brute force – jak zabezpieczam logowanie na stronie i serwerze