Ce guide s’adresse aux administrateurs de sites web qui utilisent une “Content Security Policy” (CSP) ou “stratégie de sécurité du contenu” sur leur site.
Une CSP permet aux administrateurs de spécifier quels domaines peuvent être considérés comme des sources valides de scripts à exécuter. Un navigateur compatible avec la CSP exécutera uniquement des scripts provenant de ces domaines autorisés, ignorant ainsi tous les autres scripts.
Cela peut donc causer quelques problèmes au niveau des scripts de notre Politique de Confidentialité et de Cookies, nos Conditions Générales, Privacy Controls and Cookie Solution et Consent Solution. Cependant, il existe un moyen simple pour éviter cela.
Voici comment autoriser les scripts de notre Politique de Confidentialité et de Cookies, nos Conditions Générales, Privacy Controls and Cookie Solution et Consent Solution, pour qu’ils fonctionnent avec votre CSP :
Tout d’abord, vous aurez besoin d’un nonce cryptographique (un nombre à utiliser une seule fois), donnant au tag script
iubenda un attribut nonce
. La valeur du nonce
doit correspondre à celle de la liste de sources de confiance. Par exemple :
<script type="text/javascript" nonce="EDNnf03nceIOfn39fn3e9h3sdfa">
//iubenda snippet
</script>
Maintenant, ajoutez le nonce à votre directive script-src
, associée au mot clé nonce-
:
Content-Security-Policy: script-src 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa'
Par exemple, dans le cas de Privacy Controls and Cookie Solution, l’implémentation devrait ressembler à cela :
<script type="text/javascript" nonce="EDNnf03nceIOfn39fn3e9h3sdfa">
var _iub = _iub || [];
_iub.csConfiguration = {
"lang": "en",
"siteId": 12345678
"cookiePolicyId": 12345678
"banner": {
"position": "float-top-center",
"acceptButtonDisplay": true,
"customizeButtonDisplay": true
}
};
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Veuillez noter que le nonce a été ajouté uniquement au script inline. Nous verrons comment gérer les scripts externes dans la prochaine étape.
N’oubliez pas que les nonces doivent être générés à nouveau pour chaque chargement de page et il doit être impossible de les deviner.
Maintenant vous devrez autoriser le contenu du domaine et des sous-domaines iubenda afin de permettre le chargement des scripts externes. Voilà comment configurer la Content Security Policy :
Content-Security-Policy:
default-src 'self';
script-src 'self' *.iubenda.com 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa' 'unsafe-eval';
connect-src *.iubenda.com;
style-src 'unsafe-inline' *.iubenda.com;
frame-src *.iubenda.com;
img-src *.iubenda.com data:
Et voilà ! Vous pouvez trouver plus d’informations sur la CSP et divers cas d’usage en suivant le guide Mozilla Developer Network.