Ce dont vous avez besoin
L'URL ou le fichier exact d'un script ou d'une feuille de style chargé depuis une autre origine, et la possibilité de modifier la page.
Exemple
Pour un script dont tout le contenu est alert('Hello, world.');, l'empreinte sha384 a été vérifiée avec OpenSSL (openssl dgst -sha384 -binary fichier | openssl base64 -A). La balise ressemble à ceci :
<script src="https://cdn.example.com/app.js" integrity="sha384-H8BRh8j48O9oYatfu5AZzq6A9RINhZO5H16dQZngK7T62em8MUt1FLm52t+eX6xO" crossorigin="anonymous"></script>
Ce que font les attributs
integrityporte une ou plusieurs empreintes ; le navigateur accepte le fichier si l'une correspond. Ajoutez une seconde empreinte pour déployer une mise à jour.crossorigin="anonymous"demande le fichier sans identifiants et permet au navigateur de le lire. Le serveur doit envoyerAccess-Control-Allow-Origin(la plupart des CDN le font).- SRI fonctionne avec
<script>et<link rel="stylesheet">(et les préchargements). - Il ne protège ni les scripts injectés dynamiquement ni la page elle-même.