Feature-Policy

Feature-Policy

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

Feature-Policy hlavička umožňuje vývojářům webu povolovat, zakazovat a upravovat vlastnosti a chování některých rozhraní API a webových funkcí v prohlížeči. Tato hlavička je poměrně nová a její použití není v prohlížečích prozatím široce podporováno.

Proč používat Feature-Policy

Hlavičku Feature-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.

Aktuálně podporované funkce

Hlavička Feature-Policy není standardizována, je to experimentální technologie a je stále ve vývoji. Doporučujeme sledovat podporu prohlížečů před nasazením.

accelerometer
ambient-light-sensor
autoplay
camera
cookie
docwrite
domain
encrypted-media
fullscreen
geolocation
gyroscope
magnetometer
microphone
midi
payment
picture-in-picture
speaker
sync-script
sync-xhr
unsized-media
usb
vertical-scroll
vibrate
vr

Syntaxe

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

Definice hodnot povolení původu

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

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

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

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

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

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

<origin(s)>
Feature-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í Feature-Policy

Definovat můžeme současně funkce v seznamu odděleném středníky nebo odeslat hlavičku pro každou funkci s nastavenou politikou samostatně.

Feature-Policy: unsized-media 'none'; geolocation *; microphone 'self' https://domenaxyz.cz
Feature-Policy: unsized-media 'none'
Feature-Policy: geolocation 'self' https://domenaxyz.cz
Feature-Policy: camera *;
.htaccess
# Feature-Policy settings
Header always set Feature-Policy "microphone 'none'; payment 'none'"

Užitečné zdroje