CentralCSP
PolitiquesContent-Security-PolicyDirectives

report-to

La directive CSP report-to nomme un groupe de reporting déclaré dans Reporting-Endpoints pour recevoir les rapports de violation.

Dernière mise à jour:

La directive report-to indique au navigateur quel endpoint de reporting doit recevoir les rapports de violation Content Security Policy (CSP). Sa valeur est le nom d'un groupe déclaré dans le header Reporting-Endpoints, pas une URL. C'est le remplacement moderne de report-uri.

Elle contrôle où vont les rapports de violation CSP. Elle ne bloque ni n'autorise aucune ressource. Lorsqu'une politique appliquée bloque quelque chose (ou qu'une politique report-only l'aurait bloqué), le navigateur collecte un rapport et le délivre via la Reporting API au groupe d'endpoints que vous nommez ici.

Un header déclare le groupe et son URL, l'autre y dirige la politique :

Reporting-Endpoints: csp-endpoint="https://<Endpoint-ID>.report.centralcsp.com"
Content-Security-Policy:
    default-src 'self';
    report-to csp-endpoint

Chaîne de repli

report-to n'a pas de repli. default-src ne la couvre pas. Sans elle (et sans report-uri), la politique s'applique toujours mais n'émet aucun rapport.

Valeurs

Un seul nom de groupe d'endpoints (un token), référençant un groupe dans Reporting-Endpoints. Il doit correspondre à une clé du header Reporting-Endpoints sur la même réponse ; le navigateur recherche ce groupe, trouve son URL et met le rapport en file d'attente pour livraison à cette adresse.

ValeurStatutDescription
Token de groupe d'endpoints✅ BonLe nom d'un groupe déclaré dans le header Reporting-Endpoints sur la même réponse. Un seul token.

Exemples

Pour couvrir aussi les anciennes versions de navigateurs antérieures à report-to, conservez un repli report-uri dans la même politique ; les navigateurs qui comprennent report-to l'ignorent :

Content-Security-Policy:
    default-src 'self';
    report-to csp-endpoint;
    report-uri https://<Endpoint-ID>.report.centralcsp.com

Le navigateur délivre alors un rapport csp-violation sous forme de tableau JSON d'objets en camelCase. Voir la page Rapport de violation CSP pour la référence des champs et la façon dont il diffère de l'ancien payload report-uri.

Notes de sécurité

report-to ne peut pas être définie via un élément <meta http-equiv> ; c'est une directive de header de réponse HTTP uniquement. L'endpoint doit être en HTTPS. Comme les rapports transportent les URL bloquées et des échantillons de contenu optionnels, traitez l'endpoint comme un réceptacle de données sensibles.

Vous pouvez collecter ces rapports avec CentralCSP et vérifier que le header et la directive concordent avec le vérificateur de configuration de la Reporting API.

Contournements et risques connus

La directive ne fait que rapporter ; elle n'applique rien. Si le nom de groupe ne correspond à aucune clé de Reporting-Endpoints, le navigateur n'a nulle part où envoyer et abandonne silencieusement le rapport. Les anciennes versions de navigateurs antérieures à la prise en charge de report-to ne rapportent rien, sauf si vous conservez aussi une directive report-uri en repli.

Recommandation

Content-Security-Policy:
    default-src 'self';
    report-to csp-endpoint

Utilisez report-to avec Reporting-Endpoints comme voie de reporting principale. Elle est récemment devenue disponible dans les versions actuelles de Chrome, Firefox et Safari (MDN et les notes de version de Firefox), alors ne gardez report-uri dans la politique que pour couvrir les anciennes versions de navigateurs non mises à jour ; les navigateurs qui comprennent report-to l'ignorent.

Ne confondez pas cette directive avec le header Report-To, un mécanisme distinct et déprécié, encore requis uniquement pour NEL. La directive fonctionne avec Reporting-Endpoints, pas avec ce header.

Reporting

report-to est le câblage de reporting lui-même : elle achemine chaque violation vers votre groupe d'endpoints sous forme de rapport csp-violation délivré via la Reporting API.

Prise en charge par les navigateurs

Prise en charge sur tous les navigateurs : elle est récemment devenue disponible dans les versions actuelles de Chrome (et Edge basé sur Chromium), Firefox et Safari. Elle n'est plus limitée à Chromium et a atteint le statut Baseline en 2026. Ne conservez report-uri que comme repli pour les navigateurs très anciens et non mis à jour.

Voir aussi

Sources

On this page