1001Ferramentas
📄 Segurança

Verificador X-Content-Type-Options

Confirma se X-Content-Type-Options está como nosniff e explica riscos de MIME-sniffing quando ausente.

nosniff: impedir o navegador de adivinhar o tipo

Quando o tipo declarado numa resposta parece não bater com o conteúdo, navegadores antigos tentavam adivinhar olhando os primeiros bytes. A intenção era boa — salvar páginas de servidores mal configurados. O efeito colateral não: um arquivo enviado por usuário, servido como texto puro mas contendo marcação, podia acabar interpretado como HTML e executar script no domínio do site.

Cole o valor do cabeçalho e a página diz o que ele significa. Só existe um valor válido, e a checagem é literal: qualquer outra coisa é ignorada pelo navegador, o que na prática equivale a não ter o cabeçalho. Ausência também é reportada, com o risco explicado — é o estado padrão de quem nunca configurou nada.

Além de barrar a adivinhação, o cabeçalho tem um segundo efeito que virou o principal: ele faz o navegador recusar script e folha de estilo servidos com tipo errado. É por isso que uma página passa a acusar erro de tipo ao ligar o cabeçalho — não é regressão, é a configuração incorreta do servidor ficando visível. A correção é mapear os tipos corretamente, e não remover a proteção.

Perguntas frequentes

Existe algum motivo para não usar?
Praticamente nenhum em site novo. Em site antigo, ligar pode quebrar recursos servidos com tipo errado — mas isso já era um defeito, apenas invisível. A ordem certa é conferir os tipos declarados em ambiente de teste e só então ligar em produção.
Ele substitui a Content-Security-Policy?
Não, resolvem coisas diferentes. Este impede a reinterpretação do tipo de uma resposta; a política de segurança de conteúdo controla de onde script e estilo podem vir. Uma configuração razoável tem os dois, junto com o cabeçalho contra enquadramento em iframe.
Vale para qualquer tipo de arquivo?
Vale para toda resposta, mas o efeito prático concentra-se onde a adivinhação causaria estrago: conteúdo enviado por usuário, download e recursos servidos de domínio próprio. Aplicar em tudo é mais simples e não tem custo — o cabeçalho ocupa poucos bytes.

Ferramentas Relacionadas