Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

http
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 :

http
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-attr <source>;

Exemples

Cas de violation

Étant donné cet en-tête CSP :

http
Content-Security-Policy: script-src-attr 'none'

…le gestionnaire d'évènements embarqué suivant est bloqué et ne sera ni chargé ni exécuté :

html
<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 :

js
document.getElementById("btn").addEventListener("click", faireQuelquechose);

Spécifications

Spécification
Content Security Policy Level 3
# directive-script-src-attr

Compatibilité des navigateurs

Voir aussi