X-Content-Type-Options header

Tiêu đề HTTP X-Content-Type-Options response header cho biết rằng các kiểu MIME được quảng cáo trong tiêu đề Content-Type nên được tôn trọng và không được thay đổi. Tiêu đề cho phép bạn tránh MIME type sniffing bằng cách chỉ định rằng các kiểu MIME được cấu hình có chủ ý.

Người kiểm tra bảo mật trang web thường kỳ vọng tiêu đề này được đặt (và tiêu đề Content-Type được đặt đúng cho tất cả tài nguyên).

Chỉ thị nosniff có hai hiệu ứng tùy thuộc vào ngữ cảnh:

  • Chặn yêu cầu: Đối với các yêu cầu có destination"script" hoặc "style", trình duyệt chặn phản hồi nếu kiểu MIME không khớp với loại dự kiến (kiểu JavaScript MIME cho script, hoặc text/css cho stylesheet). Xem đặc tả Fetch để biết chi tiết.
  • MIME type sniffing bị vô hiệu hóa: Đối với các loại phản hồi khác, bao gồm điều hướng đến tài liệu HTML mới, trình duyệt sử dụng Content-Type được cung cấp như vậy thay vì kiểm tra nội dung để suy ra loại. Ví dụ, nếu máy chủ gửi phản hồi với Content-Type: text/plainX-Content-Type-Options: nosniff, trình duyệt sẽ không diễn giải nó là HTML, ngay cả khi nội dung chứa đánh dấu HTML. Điều này ngăn chặn các cuộc tấn công XSS trong đó nội dung do người dùng tải lên được thực thi như tài liệu HTML, ngay cả khi trình duyệt đã chỉ định rằng nó nên được coi là văn bản thuần túy (hoặc loại khác). Xem đặc tả MIME Sniffing để biết chi tiết.
Loại tiêu đề Response header
Forbidden response header Không

Cú pháp

http
X-Content-Type-Options: nosniff

Chỉ thị

nosniff

Chặn yêu cầu nếu destination của yêu cầu là loại style và kiểu MIME không phải text/css, hoặc loại script và kiểu MIME không phải là JavaScript MIME type.

Nó cũng ngăn chặn MIME type sniffing cho tất cả các loại phản hồi khác, khiến trình duyệt sử dụng Content-Type đã khai báo mà không kiểm tra nội dung phản hồi. Đặc biệt nó ngăn trình duyệt coi phản hồi là text/html khi nó được tải trong ngữ cảnh duyệt và tiêu đề Content-Type vắng mặt hoặc chỉ ra loại không phải HTML.

Đặc tả

Specification
Fetch
# x-content-type-options-header

Tương thích trình duyệt

Xem thêm