Skip to main content
Todos os Termos Glossary

X-Content-Type-Options

Definition

O X-Content-Type-Options é um cabeçalho HTTP que impede os navegadores de fazer MIME-sniffing de uma resposta, desviando-a do content-type declarado. Isso ajuda a prevenir ataques em que os navegadores poderiam interpretar arquivos como um content-type diferente do pretendido. O cabeçalho deve ser definido como 'nosniff' para impor uma verificação rígida de tipo MIME.

O que o X-Content-Type-Options faz

O X-Content-Type-Options é um cabeçalho de resposta com um único valor significativo, nosniff. Normalmente, se o Content-Type declarado por um servidor parece errado ou está ausente, um navegador pode farejar os bytes e adivinhar o tipo real, um recurso de conveniência que pode ser perigoso. Com nosniff, o navegador para de adivinhar e respeita exatamente o Content-Type declarado. Ele se recusa a executar uma resposta como script ou folha de estilo a menos que o tipo coincida (por exemplo, text/javascript ou text/css), e reforça as proteções de Cross-Origin-Read-Blocking. Na prática, isso significa que um arquivo que o servidor rotula como text/plain não pode ser forçado a ser executado como JavaScript apenas porque seu conteúdo acaba sendo interpretado como código válido.

Por que o MIME sniffing era um risco

O MIME sniffing possibilitava uma classe real de ataques. Um invasor que pudesse enviar ou influenciar um arquivo, digamos um avatar de usuário ou um documento de texto, poderia elaborar bytes que um navegador com sniffing interpretasse como HTML ou JavaScript, transformando um endpoint de upload inofensivo em um vetor para XSS armazenado. O sniffing também minava os controles de acesso baseados em content-type. Definir nosniff fecha essa brecha ao forçar o navegador a confiar no tipo declarado pelo servidor, de modo que conteúdo mal rotulado ou controlado por invasores seja renderizado de forma inerte em vez de executado. É um cabeçalho pequeno e universalmente suportado, essencialmente sem desvantagens em um site corretamente configurado, e é por isso que as diretrizes básicas de segurança e os scanners sinalizam sua ausência.

Como implantá-lo corretamente

Envie X-Content-Type-Options: nosniff em toda resposta e certifique-se de que sua aplicação realmente defina cabeçalhos Content-Type corretos, porque o nosniff rejeitará recursos que estejam mal rotulados. Sirva arquivos enviados por usuários a partir de uma origem separada ou com Content-Disposition: attachment quando apropriado, e nunca conte com o sniffing para corrigir tipos errados. Combine-o com uma Content-Security-Policy forte e declarações de charset corretas para uma cobertura completa. Esta é uma questão de configuração de servidor e CDN, e não um problema de script third-party, então fica fora do foco de análise de payload da cside; trate-a como um reforço padrão junto aos demais cabeçalhos seguros que seu framework ou edge pode emitir por padrão.

Definição

Com qual valor o X-Content-Type-Options deve ser definido?

O único valor válido e significativo é nosniff. Apesar do nome plural do cabeçalho, não há uma lista de opções; você envia X-Content-Type-Options: nosniff para desativar o MIME sniffing ou omite o cabeçalho inteiramente. Qualquer outro valor é ignorado pelos navegadores, então o controle está efetivamente ligado ou desligado.

Definição

O nosniff pode quebrar um site que funciona?

Pode, mas apenas se o servidor enviar cabeçalhos Content-Type incorretos. Com nosniff, uma folha de estilo mal rotulada como text/plain ou um script servido com o tipo errado será rejeitado em vez de adivinhado para funcionar. A correção certa é definir valores de Content-Type precisos, não remover o cabeçalho.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Agende uma demonstração

Quer ver isso em detalhe com um engenheiro?

Trinta minutos, no seu próprio site. Sem slides.

Agende uma demo personalizada para ver:

Como alcançar a conformidade com os requisitos 6.4.3 e 11.6.1 do PCI DSS em 1 dia
Por que scripts de terceiros são um risco de segurança para você e seus visitantes
Como monitorar vazamentos de privacidade e consentimento (RGPD, CCPA) em cada terceiro
Como conter abuso de cadastros, compartilhamento de contas e fraude de chargeback com device intelligence
Como detectar e controlar agentes de IA e bots que acessam seu site em tempo real

Prefere só mandar uma pergunta?

Procurando horários livres…

Apenas humanos de verdade. A gente saberia.

Problemas para agendar? Abrir o agendador em uma nova aba

O que você está tentando resolver?

Conte em uma linha e voltamos com algo útil, não com um discurso genérico.

Costumamos ajudar com:

Ver quais scripts de terceiros rodam no seu site
Evidências para PCI DSS 6.4.3 e 11.6.1
Bots, agentes de IA e roubo de contas

Prefere agendar um horário? Escolher um horário