Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Feature-Policy
O cabeçalho HTTPFeature-Policy provê um mecanismo para permitir ou proibir o uso de funcionalidades do navegador no seu próprio enquadramento, e o conteúdo dentro de quaisquer elementos<iframe> no documento.
Nota:Este cabeçalho ainda está em estado experimental, e é sujeito a mudança a qualquer momento. Tenha cautela quando implementando isso no seu site. O cabeçalho agora foi renomeado paraPermissions-Policy na especificação, e este artigo irá eventualmente ser atualizado para refletir estas atualizações.
Para mais informação, veja o artigo principalPolicy Feature.
| Tipo de cabeçalho | Response header |
|---|---|
| Forbidden header name | sim |
In this article
Sintaxe
Feature-Policy: <directive> <allowlist>
<directive>A diretiva Feature Policy que irá aplicar a
allowlist. VejaDiretivas abaixo para a lista de nomes de diretivas.<allowlist>
Diretivas
accelerometerControla se o documento atual é permitido de coletar informação sobre a aceleração do dispositivo através da interface
Accelerometer.ambient-light-sensorControla se o documento atual é permitido de coletar informação sobre a quantidade de luz no ambiente ao redor do dispositivo através da interface
AmbientLightSensor.autoplayControla se o documento atual é permitido de tocar a mídia requisitada automaticamente através da interface
HTMLMediaElement. Quando esta política é desabilitada e não há ação do usuário, oPromiseretornado peloHTMLMediaElement.play()irá rejeitar com umaDOMException. O atributoautoplay em elementos<audio>e<video>será ignorado.batteryControla se o uso daAPI de Status de Bateria é permitido. Quando esta política está desabilitada, o
Promiseretornado peloNavigator.getBattery()irá rejeitar com umNotAllowedErrorDOMException.cameraControla se o documento atual é permitido de usar entradas de dispositivos de vídeo. Quando esta política está desabilitada, o
Promiseretornado pelogetUserMedia()irá rejeitar com umNotAllowedErrorDOMException.display-captureControla se o documento atual é permitido ou não de usar o método
getDisplayMedia()para capturar conteúdos de tela. Quando esta política está desabilitada, aPromiseretornada pelogetDisplayMedia()irá rejeitar com umNotAllowedErrorse a permissão não for obtida para capturar os conteúdos da tela.document-domainControle se o documento atual é permitido de colocar
document.domain. Quando esta política está desabilitada, tentativas em colocardocument.domainirão falhar e causar umaSecurityErrorDOMExceptiona ser jogada.encrypted-mediaControla se o documento atual é permitido de usar a APIExtensões de Mídias Encriptadas (Encrypted Media Extensions) (EME). Quando esta política é desabilitada, a
Promiseretornada peloNavigator.requestMediaKeySystemAccess()irá rejeitar com umDOMException.execution-while-not-renderedControla se as tarefas devem ser executadas em enquadramentos enquanto não são renderizados (e.g. se um enquadramento é
hiddenoudisplay: none).execution-while-out-of-viewportControla se as tarefas devem ser executadas em enquadramentos enquanto eles estão fora da janela de visualização visível.
fullscreenControla se o documento atual é permitido de usar
Element.requestFullScreen(). Quando esta política está desabilitada, aPromiseretornada rejeita com umTypeErrorDOMException.geolocationControla se o documento atual é permitido de usar a interface
Geolocation. Quando a política está desabilitada, chamadas paragetCurrentPosition()ewatchPosition()irão causar aoscallbacks da funções serem invocados com umPositionErrordePERMISSION_DENIED.gyroscopeControla se o documento atual é permitido de coletar informação sobre a orientação do dispositivo através da interface
Gyroscope.layout-animationsControla se o documento atual é permitido de mostrar animações delayout.
legacy-image-formatsControla se o documento atual é permitido de mostrar imagens em formatos legados.
magnetometerControla se o documento atual é permitido de coletar informação sobre a orientação do dispositivo através da interface
Magnetometer.microphoneControla se o documento atual é permitido de usar entradas de dispositivos de áudio. Quando esta política está desabilitada, a
Promiseretornada peloMediaDevices.getUserMedia()irá rejeitar com umNotAllowedError.midiControla se o documento atual é permitido de usar aAPI Web MIDI. Quando esta política está desabilitada, a
Promiseretornada peloNavigator.requestMIDIAccess()irá rejeitar com umDOMException.navigation-overrideControla a disponibilidade de mecanismos que habilitam o autor da página a tomar controle sobre o comportamento danavegação espacial (spatial navigation), ou cancelar completamente.
oversized-imagesControla se o documento atual é permitido de baixar e mostrar imagens grandes.
paymentControla se o documento atual permite o uso daAPI de Requisição de Pagamento (Payment Request API). Quando esta política está desabilitada, o construtor
PaymentRequest()irá jogar umSecurityErrorDOMException.picture-in-pictureControla se o documento atual permite que um vídeo seja permitido tocar no modoPicture-in-Picture através da API correspondente.
publickey-credentials-getControla se o documento atual é permitido de usar aAPI de Autenticação Web para resgatar credenciais de chave pública já guardadas, i.e. através do
navigator.credentials.get({publicKey: ..., ...}).sync-xhrControla se o documento atual é permitido de fazer requisições síncronas
XMLHttpRequest.usbControla se o documento atual é permitido de usar aAPI WebUSB.
vrDeprecatedControla se o documento atual é permitido de usar aAPI WebVR. Quando esta política é desabilitada, o
Promiseretornado peloNavigator.getVRDisplays()irá rejeitar com umDOMException. Tenha em mente que o padrão WebVR está em processo de ser substituído peloWebXR.wake-lockControla se o documento atual é permitido de usar aAPI Wake Lock para indicar que o dispositivo não deve entrar em modo de economia de energia.
screen-wake-lockControla se o documento atual é permitido de utilizar aAPI Screen Wake Lock para indicar se o dispositivo deve ou não escurecer a tela.
xr-spatial-trackingControla se o documento atual é permitido ou não de usar aAPI WebXR Device para intergir com a sessão WebXR.
Exemplos
SecureCorp Inc. quer desabilitar o Microfone e as APIs de Geolocalização em sua aplicação. Isso pode ser feito entregando o seguinte cabeçalho de resposta HTTP para definir a política de funcionalidade:
Feature-Policy: microphone 'none'; geolocation 'none'
Especificando a palavra-chave'none' para a lista de origem, as funcionalidades especificadas serão desabilitadas para todos os contextos de navegaçnao (incluindo todos osiframes), independente da origem.
Especificações
| Specification |
|---|
| Permissions Policy> # permissions-policy-http-header-field> |