Générateur Hash SRI

Entrez les URLs des ressources :

Résultats :


Qu’est-ce que l’intégrité des sous-ressources (SRI) ?
Le SRI est une nouvelle spécification du W3C qui permet aux développeurs web de s’assurer que les ressources hébergées sur des serveurs tiers n’ont pas été altérées. L’utilisation du SRI est recommandée comme une meilleure pratique, chaque fois que des bibliothèques sont chargées depuis une source tierce.

En savoir plus sur comment utiliser l’intégrité des sous-ressources sur MDN.

Comment l’intégrité des sous-ressources diffère-t-elle du HTTPS ?
Le TLS assure que la connexion entre le navigateur et le serveur est sécurisée. Cependant, la ressource elle-même peut toujours être modifiée côté serveur par un attaquant pour inclure un contenu malveillant, tout en étant servie avec un certificat TLS valide. Le SRI, quant à lui, garantit qu’une ressource n’a pas changé depuis qu’elle a été hashée par un auteur web.

Comment puis-je générer des hachages d’intégrité ?
Utilisez le générateur ci-dessus ou la commande shell suivante :

openssl dgst -sha384 -binary NOM_DU_FICHIER.js | openssl base64 -A

Pourquoi dois-je inclure crossorigin="anonymous" ?
Lorsque la demande n’est pas sur la même origine, l’attribut crossorigin doit être présent pour vérifier l’intégrité du fichier. Sans un attribut crossorigin, le navigateur choisira de « ne pas échouer » ce qui signifie qu’il chargera la ressource comme si l’attribut d’intégrité n’était pas défini, perdant ainsi toute la sécurité apportée par le SRI.

crossorigin="anonymous" signifie qu’aucun identifiant n’est envoyé au site d’origine hébergeant le contenu. Cependant, un en-tête HTTP d’origine sera envoyé. Si le serveur refuse d’inclure la ressource (en ne définissant pas l’en-tête HTTP Access-Control-Allow-Origin), la ressource ne sera pas utilisée par le navigateur.

Vous pouvez trouver plus d’informations sur MDN.

Testez votre navigateur
Consultez le SRI sur caniuse.com pour voir les informations spécifiques sur la prise en charge des différentes versions de navigateurs.