HTTP の Content-Security-Policy
(CSP) の plugin-types
ディレクティブは、文書に埋め込むことができるプラグインのセットを、読み込むことができるリソースの種類を制限することによって制限します。
<embed>
, <object>
, <applet>
の各要素のインスタンス化は、次の場合に失敗します。
- 要素が妥当な MIME 型を宣言していなかった場合
- 宣言された型が
plugin-types
ディレクティブで指定されたもののいずれにも一致しなかった場合 - 読み込まれたリソースが宣言された型に一致しなかった場合
CSP バージョン | 2 |
---|---|
ディレクティブ種別 | 文書ディレクティブ |
default-src による代替 |
なし。これを設定しないと何も許可されない。 |
構文
1つ以上の MIME 型を plugin-types
ポリシーに設定することができます。
Content-Security-Policy: plugin-types <type>/<subtype>; Content-Security-Policy: plugin-types <type>/<subtype> <type>/<subtype>;
- <type>/<subtype>
- 妥当な MIME 型。
例
プラグインを不許可にする
全てのプラグインを不許可にするには、 object-src
ディレクティブを 'none'
に設定すればプラグインが不許可になります。 plugin-types
ディレクティブは、 object-src
でプラグインを許可している場合に限って使用することができます。
<meta http-equiv="Content-Security-Policy" content="object-src 'none'">
Flash コンテンツの許可
以下のコンテンツセキュリティポリシーは、
Content-Security-Policy: plugin-types application/x-shockwave-flash
次のような Flash オブジェクトの読み込みを許可します。
<object data="https://example.com/flash" type="application/x-shockwave-flash"></object>
Java アプレットの許可
<applet>
を読み込むには、 application/x-java-applet
を指定する必要があります。
Content-Security-Policy: plugin-types application/x-java-applet
仕様書
仕様書 | 状態 | 備考 |
---|---|---|
Content Security Policy Level 3 plugin-types の定義 |
草案 | 変更なし |
Content Security Policy Level 2 plugin-types の定義 |
勧告 | 初回定義 |
ブラウザーの互換性
BCD tables only load in the browser
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。