Content Security Policy et javascript inline

Comme vous le savez peut-être, je suis très orienté sécurité dans tout ce que je fais. Ainsi en plus du HTTPS je voulais activer les CSP (Content Security Policy) sur ce blog.

Ce blog étant plutôt de conception simple j’ai activé une policy des plus simples.

Header set Content-Security-Policy "default-src 'self';

Avec cette règle, toute ressource provenant du site lui-même sera autorisée, mais toute ressource extérieure sera interdite.
Mais en chargeant la page d’admin du blog je tombe sur un problème, avec ce message d’erreur dans le debugger Firefox.

Bug doclear csp

Après m’être longtemps creusé la tête et fouillé le web, je suis tombé sur un blog des développeur Google expliquant la fonction 'unsafe-inline'. Cette fonction permet de charger les scripts javascript inline, qui autrement seraient bloqués.
Ainsi j’ai réécrit la policy en explicitant tous les types de ressources et en ajoutant la directive 'unsafe-inline' là où c’est nécessaire, ce qui donne ceci.

Header set Content-Security-Policy "default-src 'self'; img-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'"


Voilà, maintenant en visitant ce blog vous serez certain qu’aucun contenu externe et malveillant ne se chargera à votre insu.

Page top