Posted on

Kaj je pravilnik o funkcijah? Uvod v novo varnostno glavo

Pravilnik o funkcijah (Feature Policy) bo omogočal spletnim mestom vklop ali izklop nekaterih funkcij brskalnika

V juliju je varnostni raziskovalec Scott Helme svetu predstavil Pravilnik o funkcijah. Pravilnik o funkcijah je nova varnostna glava, ki lastnikom spletnih strani omogoča vklop ali izkop nekaterih funkcij spletnega brskalnika – ne samo na njihovi spletni strani ampak tudi na tistih, ki jih vdelajo.

Deluje tako, da so pravila o funkcijah posredovana preko glave http. Ustvarjanje je enostavno kot ustvarjanje katere koli druge glave. Lastniki spletnih mest morajo preprosto določiti, katere funkcije želijo omejiti in nato izdelati pravilnik. Na primer:

Feature-Policy: vibrate 'self'; usermedia '*'; sync-xhr 'self' primer.si

Obstajajo tri različne možnosti, ki jih imajo lastniki spletnih strani:

  • * – s tem bomo omogočili, da se ta funkcija uporabi na trenutni strani in v vseh vdelanih kontekstih (na primer iFrame)
  • Self – omejuje uporabo funkcije za trenutno stran, kot tudi vso vdelano vsebino v istem nivoju
  • None – popolnoma onemogoči funkcijo na strani in vseh vdelanih kontekstih
  • origin(s) – ta funkcija sme uporabljati le določen izvor. Na primer https://primer.si ali https://primer.net https://primer.org

Seznam funkcij, ki jih je mogoče omogočiti ali onemogočiti s Pravilnikom o funkcijah:

  • GeoLocation
  • midi
  • Notifications
  • Push
  • sync-xhr
  • Microphone
  • Camera
  • Magnetometer
  • Gyroscope
  • Speaker
  • Vibrate
  • Fullscreen
  • Payment

Ta seznam se lahko spremeni, če bo ustvarjeno več funkcij brskalnika.

Večji nadzor nad iFrame-i

Ena izmed dobrih stvari Pravilnika o funkcijah je, da jih lahko uporabite za bolj natančen nadzor nad stvarmi, kot je iFrame. Če želite, lahko celo uporabiti drugačen pravilnik za omogočanje funkcij v določenih iFrame-ih.

Tako lahko na primer onemogočite funkcijo na nadrejeni ravni in jo nato omogočite v določenih iFrame-ih:

Feature-Policy: vibrate 'none'
<iframe src="https://www.primer.si">

Pravilnik funkcij zagotavlja fleksibilnost, zato mora biti enostaven za uporabo na način, ki zagotavlja pravo zaščito. Zaenkrat Pravilnik o funkcijah podpirata Google Chrome in Apple Safari.