X-Content-Type-Options
X-Content-Type-Options は HTTP のレスポンスヘッダーで、 Content-Type ヘッダーで示された MIME タイプを変更せずに従うべきであることを示すために、サーバーによって使用されるマーカーです。これにより、MIME タイプのスニッフィングを抑止することができます。言い替えれば、 MIME タイプを意図的に設定することができます。
このヘッダーは、 Microsoft が IE 8 において、コンテンツのスニッフィングにより、実行不可能な MIME タイプを実行可能な MIME タイプに変換してしまうという事故を抑止するためのとして導入したものです。それ以来、他のブラウザーは MIME スニッフィングのアルゴリズムにそれほど積極的ではなくても、このヘッダーを導入してきました。
Firefox 72 から、 Content-type が提供されている場合、 MIME スニッフィングの抑止が最上位の文書にも適用されるようになりました。これにより、 HTML のウェブページが text/html 以外の MIME タイプで提供された場合、表示されるのではなくダウンロードされることがあります。両方のヘッダーを正しく設定してください。
サイトのセキュリティテスターは通常、このヘッダーが設定されていることを期待しています。
メモ:
X-Content-Type-Options は、 nosniff によるリクエストブロッキングをリクエスト先が "script" と "style" の場合のみ適用します。しかし、 Cross-Origin Read Blocking (CORB) 保護を HTML, TXT, JSON, XML の各ファイル (SVG image/svg+xml を除く) に対して有効にすることもできます。
| ヘッダー種別 | レスポンスヘッダー |
|---|---|
| 禁止リクエストヘッダー | いいえ |
構文
X-Content-Type-Options: nosniff
ディレクティブ
nosniff-
リクエスト先のタイプが
styleでありその MIME タイプがtext/cssではない場合、または、タイプがscriptで MIME タイプが JavaScript の MIME タイプではない場合にリクエストをブロックします。
仕様書
| Specification |
|---|
| Fetch> # x-content-type-options-header> |
ブラウザーの互換性
Loading…
ブラウザー固有の注意事項
- Firefox 72 は最上位の文書で
X-Content-Type-Options: nosniffを有効にします。
関連情報
Content-Type- Microsoft による X-Content-Type-Options の 元の定義
- Mozilla Observatory ツールによるウェブサイトの設定 (このヘッダーを含む) の安全性とセキュリティのテスト
- Firefox における MIME 混同攻撃の緩和
- Cross-Origin Read Blocking (CORB)
- Google Docs CORB 解説書