Nouveau : exportez des preuves PCI DSS v4 issues du trafic réel des navigateurs.

Outil CSP

Calculateur de hash CSP

Collez un script ou un style inline et obtenez son hash pour l'autoriser dans votre Content-Security-Policy.

Comment fonctionnent les hashs CSP
Besoin d'un hash d'intégrité pour un fichier distant ?Utiliser le calculateur SRI

Guide

Comprendre les hashs CSP

Un hash CSP vous permet de conserver un script ou un style inline précis dans vos pages tout en appliquant une Content-Security-Policy stricte, sans recourir au mot-clé dangereux 'unsafe-inline'.

Qu'est-ce qu'un hash CSP ?

Un hash CSP est un condensé SHA encodé en base64 du contenu exact d'un élément script ou style inline. Vous l'ajoutez à votre politique pour que le navigateur n'exécute que ce fragment précis et bloque tout ce qu'il n'attend pas.

Comme la valeur est dérivée du code lui-même, une politique stricte peut autoriser le code inline auquel vous faites confiance tout en bloquant tout script qu'un attaquant parviendrait à injecter dans la page. Lisez l'explication complète dans le guide des hashs et nonces CSP.

Comment utiliser votre hash

Copiez la valeur générée, avec son préfixe sha256- et les guillemets, dans votre directive script-src pour les scripts ou style-src pour les styles. Vous pouvez lister plusieurs hashs dans la même directive.

Ne hashez que le contenu situé entre les balises, jamais les balises script ou style elles-mêmes. Le condensé doit correspondre au contenu inline octet par octet : un simple espace ou saut de ligne ajouté produit un hash différent et le navigateur le rejettera. Pour la syntaxe complète de la directive, consultez la directive script-src.

Content-Security-Policy:
  script-src 'self' 'sha256-RFWPLDbv2BY+rCkDzsE+0fr8ylGr2R2faWMhq4lfEQc=';

SHA-256, SHA-384 ou SHA-512 ?

Content-Security-Policy accepte trois algorithmes. SHA-256 est le plus utilisé et amplement suffisant pour tout site ; SHA-384 et SHA-512 produisent des valeurs plus longues sans avantage pratique pour la CSP. Choisissez un algorithme et utilisez-le de façon cohérente dans toute votre politique.

Hashs ou nonces ?

Lorsque vous pouvez modifier la réponse à chaque requête, préférez un nonce : il est imprévisible, à usage unique et continue de fonctionner même quand le code inline change, ce qui en fait le choix par défaut le plus robuste. N'utilisez un hash que lorsqu'un nonce n'est pas praticable, pour des fragments inline statiques ou du code tiers que vous ne pouvez pas marquer à chaque réponse. Les politiques strictes s'appuient généralement d'abord sur un nonce avec strict-dynamic et recourent aux hashs uniquement là où un nonce ne peut pas aller. Les deux mécanismes sont détaillés dans le guide des hashs et nonces CSP.

script-src 'self' 'nonce-2726c7f26c' 'strict-dynamic';

Votre CSP casse quelque chose ?

CentralCSP collecte de vrais rapports Content-Security-Policy depuis les navigateurs de vos visiteurs, pour repérer une politique cassée ou un script bloqué avant que cela ne vous coûte cher. Ajoutez un en-tête, sans modification de code.