Skip to content

Exemplos de implementações do CSP (Content Security Policy) que nos permiti criar regras de carregamento de recursos em nossas aplicações web.

Notifications You must be signed in to change notification settings

LuanMaik/ContentSecurityPolicy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

CSP - Content Security Policy

Este repositório fornece uma breve explicação sobre CSP e exemplos de sua implementação via html e arquivos de configuração de servidores web (apache e ngnix).

O que é?

O CSP (Content Security Policy) nos permite definir regras de carregamento de recursos (css, js, img, etc) através de diretivas e com isso, reduzir os ricos de ataques via XSS. Essas regras podem ser definidas tanto via HTML quanto servidor (Apache, Nginx, etc).

Como?

As regras são configuradas a partir da combinação de diretivas e valores:

Ex: default-src 'self' https://cdnjs.cloudflare.com;

Aonde default-src é a diretiva e 'self' https://cdnjs.cloudflare.com são os valores.

No exemplo, a regra permite o carregamento de qualquer recurso, desde que tenham como origem o mesmo domínio ('self') ou da CDN do CloudFlare (https://cdnjs.cloudflare.com).

Principais Diretivas

Existem diretivas especificas para cada tipo de recurso:

Diretiva Tipo de recurso
default-src Todos os tipos de recurso
script-src Javascript
style-src CSS
img-src Imagens
connect-src Ajax
font-src Fontes
form-action Caminhos permitidos para o atributo action do elemento form
media-src Audios e vídeos
plugin-types MIME types do recurso, ex: application/pdf

Mais detalhes: (https://content-security-policy.com)

Principais valores para as diretivas

Existem diretivas especificas para cada tipo de recurso:

Valor Significado
* Qualquer origem
'none' Nenhuma origem
'self' Da mesma origem
'unsafe-inline' Recursos em linha, ex: <style>, <script>
https: De origens seguras
domain.example.com Origem especifica

Mais detalhes: (https://content-security-policy.com)

Configuração via HTML

No HTML, as regras de carregamento podem ser definidas através de metatags <meta>:

<meta http-equiv="Content-Security-Policy" content="default-src 'self';">

Veja os arquivos de código de exemplo neste repositório.

Configuração via Servidor

No servidor, podemos definir as regras de carregamento nos arquivos de configuração de acordo com o servidor web utilizado: Apache, Nginx, IIS, etc. Veja os arquivos de código de exemplo neste repositório.

About

Exemplos de implementações do CSP (Content Security Policy) que nos permiti criar regras de carregamento de recursos em nossas aplicações web.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published