X-Content-Type-Options
O cabeçalho X-Content-Type-Options é utilizado para impedir que o navegador tente adivinhar o tipo de conteúdo (MIME-sniffing) de uma resposta, forçando-o a seguir o que está declarado no cabeçalho Content-Type.
O Perigo do Sniffing
Se um servidor permite o upload de arquivos de texto e um atacante faz o upload de um arquivo contendo código JavaScript, o navegador pode "adivinhar" que o arquivo é na verdade um script e executá-lo, levando a um ataque XSS.
Como fazer vs Como não fazer
✅ Como fazer
- Utilize sempre o valor
nosniffem todas as respostas da sua API e servidor web. - Garanta que o servidor envie o cabeçalho
Content-Typecorreto para cada recurso (ex:text/htmlpara páginas,application/jsonpara APIs,image/svg+xmlpara SVGs).
❌ Como não fazer
- Não deixe este cabeçalho ausente, especialmente em servidores que servem conteúdo gerado por usuários (uploads).
- Não confie que o navegador sempre fará a escolha certa ao detectar o tipo de arquivo automaticamente.