Knowledge Base

X-Content-Type-Options: блокировка MIME sniffing

Что такое MIME sniffing

Категория: HTTP · Риск: low

Что такое MIME sniffing

Браузер пытается «угадать» тип содержимого файла, игнорируя `Content-Type`. Если сервер отдаёт HTML-файл с типом `text/plain`, браузер может выполнить его как HTML — что открывает вектор XSS.

Решение

Один заголовок:

X-Content-Type-Options: nosniff

Запрещает браузеру изменять объявленный `Content-Type`.

Nginx

add_header X-Content-Type-Options "nosniff" always;

Apache

Header always set X-Content-Type-Options "nosniff"

Правильные Content-Type

Параллельно убедитесь, что сервер отдаёт правильные типы:

# В nginx.conf уже есть mime.types, но проверьте:
include /etc/nginx/mime.types;
default_type application/octet-stream;