CSP: plugin-types

CSP: plugin-types

HTTP Content-Security-Policy(CSP)plugin-types指令通过限制可以加载的资源类型来限制可以嵌入到文档中的插件集。

一个实例<embed>,<object>或<applet>元素会失败,如果:

  • 要加载的元素不会声明有效的MIME类型,

  • 声明的类型与plugin-types指令中的指定类型之一不匹配,

  • 获取的资源与声明的类型不匹配。

CSP版本2
指令类型Document指令
default-src fallback不可以。

句法

可以为plugin-types策略设置一个或多个MIME类型:

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

规范

规范状态评论
内容安全策略级别3该规范中'插件类型'的定义。编辑草稿没有变化。
内容安全策略级别2该规范中'插件类型'的定义。建议初始定义。

浏览器兼容性

特征ChromeFirefoxEdgeInternet ExplorerOperaSafari
基本支持40(No)1(No)(No)2710

特征AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基本支持?(Yes)(No)(No)(No)?9.3