Content-Security-Policy : directive script-src-attr
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis décembre 2022.
La directive HTTP Content-Security-Policy (CSP) script-src-attr définit les sources valides pour les gestionnaires d'évènements JavaScript embarqués.
Cette directive ne définit que les sources valides pour les gestionnaires d'évènements JavaScript embarqués comme onclick.
Elle ne s'applique pas aux autres sources JavaScript pouvant déclencher l'exécution de scripts, telles que les URL chargées directement dans des éléments HTML <script> et les feuilles de style XSLT.
(Les sources valides peuvent être spécifiées pour toutes les sources de scripts JavaScript en utilisant script-src, ou uniquement pour les éléments <script> en utilisant script-src-elem.)
| Version de CSP | 3 |
|---|---|
| Type de directive | Directive de récupération |
Solution de repli default-src |
Oui, si cette directive est absente, l'agent utilisateur consultera la directive script-src, qui a pour valeur par défaut celle de la directive default-src.
|
Syntaxe
Content-Security-Policy: script-src-attr 'none';
Content-Security-Policy: script-src-attr <source-expression-list>;
Cette directive peut avoir l'une des valeurs suivantes :
'none'-
Aucune ressource de ce type ne peut être chargée. Les guillemets simples sont obligatoires.
<source-expression-list>-
Une liste de valeurs d'expressions de source séparées par des espaces. Les ressources de ce type peuvent être chargées si elles correspondent à l'une des expressions de source données. Pour cette directive, les valeurs d'expression de source suivantes sont applicables :
script-src-attr peut être utilisé en conjonction avec script-src, et remplacera cette directive pour les vérifications sur les gestionnaires d'évènements embarqués :
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-attr <source>;
Exemples
>Cas de violation
Étant donné cet en-tête CSP :
Content-Security-Policy: script-src-attr 'none'
…le gestionnaire d'évènements embarqué suivant est bloqué et ne sera ni chargé ni exécuté :
<button id="btn" onclick="faireQuelquechose()">Cliquez sur moi</button>
Notez que, généralement, vous devriez remplacer les gestionnaires d'évènements embarqués par des appels à addEventListener :
document.getElementById("btn").addEventListener("click", faireQuelquechose);
Spécifications
| Spécification |
|---|
| Content Security Policy Level 3> # directive-script-src-attr> |
Compatibilité des navigateurs
Voir aussi
- L'en-tête
Content-Security-Policy - L'élément HTML
<script> - La directive CSP
script-src - La directive CSP
script-src-elem