En-tête Content-Security-Policy-Report-Only
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis août 2016.
L'en-tête de réponse HTTP Content-Security-Policy-Report-Only permet de surveiller les violations de la politique de sécurité du contenu (CSP) et leurs effets sans imposer les règles de sécurité.
Cet en-tête vous permet de tester ou corriger les violations avant qu'une Content-Security-Policy (CSP) soit appliquée et imposée.
La directive CSP report-to doit être définie pour que les rapports soient envoyés : sinon, l'opération n'a aucun effet.
Les violations de la politique peuvent être signalées à l'aide de l'API Reporting.
Les rapports peuvent être observés dans la page pour laquelle la politique est appliquée, en utilisant un ReportingObserver, et envoyés aux points de terminaison du serveur définis dans un en-tête de réponse HTTP Reporting-Endpoints et sélectionnés à l'aide de la directive CSP report-to.
Pour plus d'informations, voir CSPViolationReport.
Pour en savoir plus, consultez notre guide Politique de sécurité du contenu (CSP).
Note :
Cet en-tête peut aussi être utilisé avec la directive obsolète report-uri (celle-ci est remplacée par report-to).
L'utilisation et la syntaxe du rapport généré diffèrent légèrement ; consultez le sujet report-uri pour plus de détails.
| Type d'en-tête | En-tête de réponse |
|---|---|
Cet en-tête n'est pas supporté au sein d'un élément HTML <meta>.
|
|
Syntaxe
Content-Security-Policy-Report-Only: <policy-directive>; …; <policy-directive>; report-to <endpoint-name>
Directives
L'en-tête Content-Security-Policy-Report-Only prend en charge toutes les directives Content-Security-Policy sauf sandbox, qui est ignorée.
Note :
La directive CSP report-to doit être utilisée avec cet en-tête, sinon il n'aura aucun effet.
Exemples
>Utiliser Content-Security-Policy-Report-Only pour envoyer des rapports CSP
Pour utiliser la directive report-to, vous devez d'abord définir un point de terminaison correspondant avec l'en-tête de réponse Reporting-Endpoints.
Dans l'exemple ci-dessous, nous définissons un point de terminaison nommé csp-endpoint.
Reporting-Endpoints: csp-endpoint="https://exemple.com/rapports-csp"
Vous pouvez ensuite définir la destination du rapport avec report-to et report-uri, comme illustré ci-dessous.
Ce rapport est déclenché si la page charge des ressources de façon non sécurisée ou depuis du code en ligne.
Content-Security-Policy-Report-Only: default-src https:;
report-uri /csp-report-url/;
report-to csp-endpoint;
Note :
La directive report-to est à privilégier par rapport à la directive obsolète report-uri, mais nous déclarons les deux, car report-to n'est pas encore prise en charge par tous les navigateurs.
Spécifications
| Spécification |
|---|
| Content Security Policy Level 3> # cspro-header> |
Compatibilité des navigateurs
Voir aussi
- L'en-tête
Content-Security-Policy - La directive CSP
report-to - L'en-tête
Reporting-Endpoints - L'interface API
CSPViolationReport - La directive CSP
report-uri - L'API Reporting