0Pricing
HTML Academy · Leçon

Politique de sécurité du contenu : `meta http-equiv`

Définissez une politique de sécurité du contenu via `meta http-equiv`.

Politique de sécurité du contenu : `meta http-equiv` est une leçon HTML Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage HTML Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours HTML Academy comprend 4 leçons au total.

Qu'est-ce que CSP ?

La politique de sécurité du contenu est une politique appliquée par le navigateur qui limite les ressources qu'une page peut charger et exécuter. C'est la défense la plus solide contre les attaques XSS : même si un attaquant injecte une balise <script>, le navigateur refuse de l'exécuter, sauf si la politique l'autorise.

Deux façons de la transmettre

CSP peut être envoyé comme en-tête de réponse HTTP (Content-Security-Policy: ...) ou comme balise meta dans HTML : <meta http-equiv="Content-Security-Policy" content="...">. L'en-tête est préférable ; la balise meta est utile lorsque vous ne pouvez pas contrôler le serveur.

<meta http-equiv="Content-Security-Policy"
  content="default-src 'self'; script-src 'self' https://cdn.example.com">

Directives courantes

default-src sert de solution de repli pour les types de ressources non spécifiés. script-src, style-src, img-src, connect-src (XHR/fetch), font-src et frame-src limitent chacun leur type de ressource. Autorisez explicitement certaines origines ou utilisez 'self' pour limiter l'accès à la même origine.

Le mot-clé self

'self' (entre guillemets) désigne l'origine de la page elle-même. script-src 'self' signifie « exécuter uniquement les scripts hébergés sur la même origine que la page ». C'est la base de la plupart des politiques ; ajoutez des CDN externes précis si nécessaire.

Bloquer les scripts intégrés

Par défaut, CSP bloque toutes les balises <script> intégrées et les attributs gestionnaires d'événements (onclick). C'est la protection la plus solide contre XSS : un <script> injecté ne peut pas s'exécuter parce qu'il est intégré. Déplacez tous les scripts dans des fichiers externes référencés par src.

Nonces et hachages

Pour les scripts intégrés nécessaires, utilisez un nonce : le serveur génère un jeton aléatoire pour chaque requête, le définit comme script-src 'nonce-RANDOM' dans CSP et ajoute nonce="RANDOM" aux balises <script> légitimes. Les scripts injectés ne possèdent pas le nonce et sont bloqués.

<meta http-equiv="Content-Security-Policy"
  content="script-src 'nonce-abc123'">
<script nonce="abc123">// allowed</script>
<script>// blocked — no nonce</script>

unsafe-inline et unsafe-eval

'unsafe-inline' réautorise les scripts et les styles intégrés. 'unsafe-eval' réautorise eval() et new Function(). Ces deux options affaiblissent fortement CSP ; utilisez-les uniquement en dernier recours pendant une migration et prévoyez de les supprimer.

Limites des balises meta

CSP transmis par une balise meta ne peut pas utiliser la directive report-uri ni les autres fonctions de génération de rapports. Il prend également effet plus tard qu'un en-tête : tout ce qui précède la balise meta n'est pas protégé. Les en-têtes sont nettement meilleurs ; n'utilisez la balise meta qu'en solution de repli.

Mode de rapport uniquement

Testez une nouvelle politique sans perturber le site : Content-Security-Policy-Report-Only: .... Le navigateur signale les violations sans les bloquer, ce qui vous permet d'affiner la politique jusqu'à ce qu'elle autorise toutes les ressources légitimes avant de passer à l'application effective.

Pièges courants

Oublier style-src 'unsafe-inline' bloque les styles intégrés, souvent produits par les environnements de développement. Oublier connect-src bloque les requêtes AJAX vers les API. Testez toujours d'abord la politique en mode de rapport uniquement et examinez la console pour repérer les ressources bloquées.

Stratégie CSP moderne

Une CSP stricte combine script-src 'nonce-RANDOM' 'strict-dynamic' pour les scripts et une liste d'autorisation restrictive pour tout le reste. 'strict-dynamic' permet aux scripts munis d'un nonce de charger d'autres scripts sans devoir tous les répertorier — c'est bien plus facile à maintenir que des listes d'autorisation par origine.

Vérification des connaissances

Comment CSP se défend-il contre les attaques XSS, même lorsqu'un attaquant réussit à injecter une balise script ?

Résumé

CSP est une politique appliquée par le navigateur qui limite les scripts, styles, images et autres ressources pouvant être chargés. Transmettez-la via un en-tête de réponse (méthode préférable) ou une balise meta. Utilisez des nonces pour les scripts intégrés nécessaires, évitez unsafe-inline et unsafe-eval, et testez d'abord en mode de rapport uniquement. Une CSP stricte avec 'nonce-X' 'strict-dynamic' constitue la base moderne.

Questions Fréquemment Posées

La leçon « Politique de sécurité du contenu : `meta http-equiv` » est-elle gratuite ?

Oui — le texte complet de « Politique de sécurité du contenu : `meta http-equiv` » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours HTML Academy, passe à CoddyKit PRO. Le cours HTML Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Politique de sécurité du contenu : `meta http-equiv` » ?

Définissez une politique de sécurité du contenu via `meta http-equiv`. Tu pratiques HTML Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer HTML Academy ?

Aucune expérience préalable n'est requise. HTML Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Politique de sécurité du contenu : `meta http-equiv` » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon HTML Academy ?

Oui. Chaque leçon HTML Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Politique de sécurité du contenu : `meta http-equiv`
  2. XSS via `innerHTML` et prévention
  3. Isolation des `iframe` et politique d’autorisations
  4. HTTPS et intégrité des sous-ressources
← Retour à HTML Academy