Cabeçalhos HTTP | Política de Segurança de Conteúdo
O campo de cabeçalho de resposta da Política de segurança de conteúdo é uma ferramenta para implementar um mecanismo de defesa em profundidade para proteção de dados contra vulnerabilidades de injeção de conteúdo, como ataques de script cruzado. Ele fornece um mecanismo de política que permite aos desenvolvedores detectar as falhas presentes em seus aplicativos e reduzir os privilégios do aplicativo. Ele fornece controle do desenvolvedor sobre o aplicativo em um nível granular para evitar vários ataques e manter a integridade do conteúdo.
Sintaxe:
Política de segurança de conteúdo: valor da diretiva diretiva; valor da diretiva diretiva
O acima tem a diretiva e o valor da diretiva . Várias diretivas de política podem ser usadas em uma linha separada por ponto e vírgula.
Diretivas com exemplos:
1. Fetch Directives: Estes são usados para controlar o ponto a partir do qual um determinado recurso pode ser acessado ou carregado no sistema.
- child-src: controla a criação de contexto de navegação aninhado e requests que preenchem o quadro de um trabalhador.
Política de segurança de conteúdo: child-src https://example.com/
- default-src: É usado para servir como lista de origem padrão de política considerando o valor inserido e servir como substituto para outras diretivas de busca.
Política de segurança de conteúdo: default-src 'self'
- frame-src: restringe URLs carregados para contexto de navegação aninhado.
Política de segurança de conteúdo: frame-src https://example.com/
- manifest-src: controla os URLs a partir dos quais vários elementos de um recurso podem ser carregados.
Política de segurança de conteúdo: manifest-src https://example.com/
- object-src: É usado para restringir URLs que podem carregar o conteúdo do plugin no aplicativo.
Política de segurança de conteúdo: object-src https://example.com/
- connect-src: É usado para controlar URLs que podem ser carregados usando interfaces de script em aplicativos.
Política de segurança de conteúdo: connect-src https://example.com/
- font-src: controla os URLs que podem carregar fontes no aplicativo.
Política de segurança de conteúdo: font-src https://example.com/
- img-src: controla URLs que podem carregar imagens no aplicativo.
Política de segurança de conteúdo: img-src https://example.com/
- media-src: controla URLs que podem carregar áudio, vídeo e recursos de trilha de texto associados no aplicativo.
Política de segurança de conteúdo: media-src https://example.com/
- style-src: controla as fontes que podem aplicar carga e folha de estilo a um aplicativo.
- script-src: controla as fontes que podem implementar JavaScript no aplicativo.
- Poucas diretivas de busca são interfaces de programação de aplicativos experimentais, como prefetch-src, script-src-elem, script-src-attr, style-src-elem, style-src-attr e worker-src.
2. Diretivas de documentos: Essas diretivas controlam a implementação de propriedades em todos os documentos e ambientes de trabalho que estão sob a governança de CSP.
- tipos de plug-ins: Limita os recursos carregados para restringir a possibilidade de plug-ins serem embutidos em um documento.
Política de segurança de conteúdo: aplicativo / pdf de tipos de plug-in
- base-uri: controla os URLs que podem ser carregados no elemento base presente no documento.
- sandbox: A política de sandbox HTML pode ser aplicada pelo agente do usuário por meio das especificações desta diretiva.
3. As diretivas de navegação contêm as diretivas de ação de formulário, ancestrais de quadro e de navegação . A diretiva form-action controla os URLs que podem ser usados para o envio do formulário. A diretiva frame-ancestors restringe URLs que podem incorporar o recurso usando o elemento frame, iframe, object, embed ou applet . A diretiva de navegação especifica os URLs para os quais o documento pode passar por qualquer método.
4. Reporting Directives contém relatório para o qual especifica o ponto final para enviar relatórios de violação. O report-uri usado anteriormente está obsoleto.
Mais alguns exemplos:
Todos os exemplos no artigo foram retirados do CSP Level 3 Draft do World Wide Web Consortium.
Content-Security-Policy: script-src https://cdn.example.com/scripts/; object-src 'none' Content-Security-Policy: script-src 'self'; report-to csp-reporting-endpoint Content-Security-Policy: prefetch-src https://example.com/ Content-Security-Policy: worker-src https://example.com/ Content-Security-Policy: navigate-to example.com
Compatibilidade do navegador:
O CSP Nível 3 é fornecido suporte parcial das versões Chrome 59+, Firefox 58+ e Edge 79+.
O CSP Nível 2 oferece suporte total das versões Chrome 40+, Safari 10+, Edge 76+ e suporte parcial do Firefox 31+ e Edge 15+.
O CSP Nível 1 é fornecido com suporte completo das versões Chrome 25+, Firefox 23+, Edge 12+ e Safari 7+.
Aprendendo inglês e usando o Anki? Use o Faluchu e esqueça os cartões. É gratis!
Usar o Faluchu