Der „Permissions Policy“-Header ist ein HTTP-Header, der verwendet wird, um die Berechtigungen und Zugriffsrichtlinien für verschiedene Funktionen und Ressourcen in einer Webanwendung festzulegen. Dieser Header ermöglicht es Webentwicklern, die Kontrolle über den Zugriff auf bestimmte APIs und Funktionen in ihren Webanwendungen zu übernehmen. Hier sind einige der Berechtigungen und Funktionen, die im „Permissions Policy“-Header gesteuert werden können:
- Geolocation: Mit dieser Berechtigung können Sie steuern, ob die Webseite auf die Geolokalisierungsfunktionen des Geräts zugreifen darf.Beispiel:
Permissions-Policy: geolocation=(self)
- Kamera und Mikrofon: Diese Berechtigung kontrolliert den Zugriff auf die Kamera und das Mikrofon des Geräts, die für Video- und Audioaufnahmen verwendet werden.Beispiel:
Permissions-Policy: camera=(), microphone=(self)
- Automatisches Abspielen von Medien: Mit dieser Berechtigung können Sie steuern, ob Multimedia-Inhalte wie Videos und Audiodateien automatisch abgespielt werden dürfen.Beispiel:
Permissions-Policy: autoplay=()
- Fullscreen-Modus: Diese Berechtigung erlaubt oder blockiert den Wechsel in den Vollbildmodus.Beispiel:
Permissions-Policy: fullscreen=(self)
- Eingabeaufforderungen (Prompts): Hiermit können Sie steuern, ob Benutzeraufforderungen wie Standortfreigabe- oder Benachrichtigungsdialoge angezeigt werden dürfen.Beispiel:
Permissions-Policy: sync-xhr=()
- Scripting-Richtlinien: Mit dieser Berechtigung können Sie die Verwendung von Skripten, eval(), und verwandten Funktionen steuern.Beispiel:
Permissions-Policy: script=(self 'unsafe-inline')
- Bildschirmaufzeichnung: Steuert den Zugriff auf APIs, die Bildschirmaufzeichnungen ermöglichen.Beispiel:
Permissions-Policy: screen-wake-lock=()
- Mixed Content: Diese Berechtigung hilft, gemischten Inhalt (HTTP-Ressourcen auf einer HTTPS-Seite) zu steuern.Beispiel:
Permissions-Policy: mixed-content=(self)
- WebSockets: Kontrolliert den Zugriff auf WebSockets.Beispiel:
Permissions-Policy: websockets=(self)
- VR und AR: Steuert den Zugriff auf Virtual Reality (VR) und Augmented Reality (AR)-Funktionen.Beispiel:
Permissions-Policy: vr=(self)
Nginx Server Konfiguration
Fügen Sie einfach in Ihre Server Konfiguration
add_header Permissions-Policy: accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=(), clipboard-read=(), clipboard-write=(), gamepad=(), speaker-selection=(), conversion-measurement=(), focus-without-user-activation=(), hid=(), idle-detection=(), interest-cohort=(), serial=(), sync-script=(), trust-token-redemption=(), window-placement=(), vertical-scroll=();
ein um alle möglichen Sensoren per Default zu deaktivieren.
Apache Server Konfiguration
Fügen Sie entweder direkt in die Seitenkonfiguration folgende Zeile ein
Header set Permissions-Policy "accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=(), clipboard-read=(), clipboard-write=(), gamepad=(), speaker-selection=(), conversion-measurement=(), focus-without-user-activation=(), hid=(), idle-detection=(), interest-cohort=(), serial=(), sync-script=(), trust-token-redemption=(), window-placement=(), vertical-scroll=()"
oder fügen sie diese in Ihr .htaccess File ein. Achten Sie darauf, dass Ihre Apache Konfiguration das Plugin „Headers“ aktiviert hat.
Weiterführende Links
Falls Sie noch nicht wissen, welche Sensoren Ihre Webseite genau braucht, nutzen Sie den Permission-Policy Generator hier.
Weitere Erklärungen zum Thema Permission Policy Einstellmöglichkeiten finden Sie hier.