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;