Permissions-Policy

Permissions Policy

Hlavička nabízí webmasterům stránek příležitost ovlivnit konkrétní funkce prohlížeče a rozhraní API.

Hlavička HTTP Permissions-Policy nahrazuje hlavičku Feature-Policy pro správu oprávnění a funkcí prohlížečů. Webovým stránkám dává možnost povolit nebo zablokovat třetím stranám používání funkcí prohlížeče jako je kamera, mikrofon, geolokace atd.

Proč používat Permissions-Policy

Hlavičku Permissions-Policy využijí vývojáři ke zvýšení bezpečnosti aplikací například zakázáním funkcí, které by mohly být zneužity škodlivým kódem třetích stran. Současně ale mohou povolit přístup k některým funkcím prohlížeče, které chtějí využívat, ale ty jsou ve výchozím nastavení zakázány.

Ukázky podporovaných funkcí

Hlavička Permissions-Policy je ve vývoji. Doporučujeme sledovat podporu prohlížečů před nasazením.

Battery status
Client Hints
Encrypted-media decoding
Fullscreen
Geolocation
Picture-in-picture
Sensors: Accelerometer, Ambient Light Sensor, Gyroscope, Magnetometer
User media: Camera, Microphone
Video Autoplay
Web Payment Request
WebMIDI
WebUSB
WebXR

Syntaxe

Permissions-Policy: <feature> <allow list origin(s)>

Definice hodnot povolení původu

* (hvězdička)
Permissions-Policy: <funkce> *;

Jakýkoli původ má přístup k funkci. (Any origin have an access to this feature.)

'self'
Permissions-Policy: <funkce> 'self'

K funkci má přístup pouze tentýž původ (same-origin). Výchozí chování Permissions-Policy.

'none'
Permissions-Policy: <funkce> 'none';

Nikdo nemá přístup k této funkci.

<origin(s)>
Permissions-Policy: <funkce> <origin(s)>

K funkci má přístup pouze definovaný původ, například doména https://www.domenaxyz.cz. URL adresa by měla být zabezpečená.

Nastavení Permissions-Policy

Definovat můžeme současně funkce v seznamu odděleném čárkami (doporučuje se ',' místo ';') nebo odeslat hlavičku pro každou funkci s nastavenou politikou samostatně. Pro nastavení můžete využít Permissions Policy Generátor.

Permissions-Policy: fullscreen=(self "https://example.com" "https://another.example.com"),
geolocation=*, camera=()
        
.htaccess
# Permissions-Policy settings
Header set Permissions-Policy "accelerometer=Origin(), autoplay=(), camera=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), publickey-credentials-get=(), usb=()"

Užitečné zdroje

 

Sponzor hlavičky
Tuto bezpečnostní hlavičku můžete jako firma podporovat a představit také své internetové služby.
Shield www.domenaxyz.cz