Aller au contenu
uencoder

CSP

CSP (Content Security Policy) déclare, via un en-tête HTTP, quelles origines de ressources une page peut charger, réduisant la surface d'attaque du XSS et de l'injection de données.

Objectif

Se défend contre le XSS et l'injection de contenu en mettant en liste blanche les origines depuis lesquelles une page peut charger des ressources.

Mécanisme

L'en-tête Content-Security-Policy déclare des directives : default-src fixe la source par défaut, script-src les sources de scripts, style-src celles de styles, etc. Un nonce ou un hachage autorise les scripts inline, et report-uri signale les violations. Le CSP strict utilise nonce plus strict-dynamic.

Cas d’usage

  • Atténuation du XSS
  • Restriction des scripts tiers
  • Contrôle des scripts inline
  • Signalement des violations

Exemples

  • entrée
    script-src 'self' 'nonce-abc'
    Output
    Only same-origin and nonce-tagged scripts are allowed

    Whitelisting

Erreurs courantes

An overly strict CSP breaks page functionality
Observe first with Report-Only mode

Termes associés

References