Composer une Content-Security-Policy stricte

Pour les développeurs web qui définissent les ressources admises sur une nouvelle page ou durcissent un site existant.

Bâtissez une Content-Security-Policy stricte à partir de vos sources autorisées et obtenez une directive cohérente prête à relire.

Mode d’emploi

  1. Renseignez d'abord la source par défaut, celle qui servira de référence pour les ressources non précisées, sur la première ligne du champ.
  2. Indiquez ensuite, sur la deuxième ligne, les sources autorisées pour les scripts, séparées par des espaces.
  3. Complétez la troisième ligne avec les sources de connexion, celles que la page contactera par requête.
  4. Lancez la construction : la politique complète s'affiche dans la zone de résultat, écrite comme une suite de directives.
  5. Copiez la politique obtenue dans votre en-tête ou votre fichier de configuration, puis testez-la en observation avant de la durcir.

Exemple

L'exemple proposé autorise un domaine principal comme source par défaut, ajoute ce même domaine plus un domaine de diffusion pour les scripts, et réserve un domaine distinct aux connexions. Une fois la politique construite, vérifiez qu'un seul jeu de directives cohérent apparaît dans la zone de résultat.

Entrée

https://exemple.com
https://exemple.com https://cdn.exemple.com
https://api.exemple.com

Résultat

default-src https://exemple.com; script-src https://exemple.com https://cdn.exemple.com; connect-src https://api.exemple.com; object-src 'none'; base-uri 'self'; frame-ancestors 'none'

Limites et formats

Où le traitement a lieu

La politique est assemblée localement dans votre navigateur : les domaines saisis ne quittent pas votre appareil et aucune trace n'est conservée à la fermeture de l'onglet. Vous pouvez donc préparer une configuration interne avant de la publier.

Questions fréquentes

Quelle différence entre la source par défaut et les sources de script ?

La source par défaut sert de repli pour les types de ressources que vous n'énumérez pas, tandis que les sources de script ne concernent que le code exécuté par la page. Un domaine autorisé dans le second cas ne l'est donc pas forcément dans le premier.

Pourquoi ma page se casse-t-elle après la mise en production ?

Il manque souvent une origine légitime : feuille de style externe, police, cadre intégré ou service de mesure. Reprenez la liste des ressources appelées par la page, ajoutez les domaines concernés puis reconstruisez la politique avant de redéployer.

Puis-je réutiliser la politique telle quelle sur plusieurs sites ?

Le texte se réutilise facilement, mais chaque site charge ses propres ressources. Copiez-le comme point de départ, puis adaptez les domaines projet par projet afin de ne pas bloquer un élément dont la page a besoin.

Outils de la même catégorie