CSP: plugin-types

La directive HTTP Content-Security-Policy (CSP) plugin-types restreint l'ensemble des greffons pouvant être intégrés dans un document en limitant les types de ressources pouvant être chargées.

L'instanciation d'éléments <embed>, <object> ou <applet> échouera si :

  • l'élément à charger ne déclarer pas de type MIME valide,
  • le type déclaré ne correspond pas à un des types spécifiés dans la directive plugin-types,
  • les ressources demandées ne correspondent pas au type déclaré.
Version de CSP 2
Type de directive Document directive
default-src par défaut Non, ne pas la définir autorise toutes les ressources

Syntaxe

Un ou plusieurs types MIME peuvent être autorisées pour cette directive :

Content-Security-Policy: plugin-types <type>/<subtype>;
Content-Security-Policy: plugin-types <type>/<subtype> <type>/<subtype>;
<type>/<subtype>
Un type MIME valide.

Exemples

Interdire les greffons

Pour intedire tous les greffons, la directive object-src doit être définie à 'none'. La directive plugin-types n'est utilisée que si vous autorisez au préalable les greffons avec object-src.

<meta http-equiv="Content-Security-Policy" content="object-src 'none'">

Autoriser le contenu Flash

Soit cet en-tête CSP :

Content-Security-Policy: plugin-types application/x-shockwave-flash

Cet objet Flash sera autorisé et se chargera (dans la mesure où le navigateur gère Flash) :

<object data="https://example.com/flash" type="application/x-shockwave-flash"></object>

Autoriser les applets Java

Pour charger une <applet>, vous devez spécifier la valeur application/x-java-applet :

Content-Security-Policy: plugin-types application/x-java-applet

Spécifications

Spécification Statut Commentaire
Content Security Policy Level 3
La définition de 'plugin-types' dans cette spécification.
Version de travail Inchangé.
Content Security Policy Level 2
La définition de 'plugin-types' dans cette spécification.
Recommendation Définition initiale.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
plugin-typesChrome Support complet 40Edge Support complet 15Firefox Aucun support Non
Notes
Aucun support Non
Notes
Notes See bug 1045899.
IE Aucun support NonOpera Support complet 27Safari Support complet 10WebView Android Support complet OuiChrome Android Support complet OuiFirefox Android Aucun support NonOpera Android ? Safari iOS Support complet 9.3Samsung Internet Android Support complet Oui

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Voir aussi