Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
En-tête Integrity-Policy-Report-Only
L'en-tête de réponse HTTPIntegrity-Policy-Report-Only permet aux administrateur·ice·s de site web de signaler les ressources chargées par l'agent utilisateur qui violeraient les garanties del'intégrité des sous-ressources si la politique d'intégrité était appliquée (en utilisant l'en-têteIntegrity-Policy).
Des rapports peuvent être générés pour les requêtes sur lesdestinations de requête définies qui omettent les métadonnées d'intégrité, ou qui sont effectuées en modeno-cors.Pour que les rapports soient envoyés à un point de terminaison de rapport, l'en-têteIntegrity-Policy-Report-Only doit définir un nom de point de terminaison de rapport valide qui correspond à un point de terminaison déclaré à l'aide de l'en-têteReporting-Endpoints.Les rapports sont générés à l'aide del'API Reporting et peuvent également être observés dans la page pour laquelle la politique d'intégrité est signalée, à l'aide d'unReportingObserver.Le format du corps du rapport est donné par le dictionnaireIntegrityViolationReportBody (une forme sérialisée en JSON de ce corps est envoyée en POST aux points de terminaison du serveur de rapport).
Cet en-tête permet aux développeur·euse·s de tester lespolitiques d'intégrité et de corriger les problèmes de contenu avant de déployer finalement un en-têteIntegrity-Policy pour appliquer la politique.
| Type d'en-tête | En-tête de réponse |
|---|
Dans cet article
Syntaxe
Integrity-Policy-Report-Only: blocked-destinations=(<destination>),sources=(<source>),endpoints=(<endpoint>)Les valeurs de l'en-tête sont définies comme des dictionnaires de champs structurés avec les clés suivantes :
blocked-destinationsUne liste dedestinations de requête qui doivent inclure des métadonnées d'intégrité valides.Les valeurs autorisées sont :
scriptRessources de script.
styleExpérimentalRessources de feuille de style.
sourcesFacultatifUne liste de sources d'intégrité qui doivent inclure des métadonnées d'intégrité.Les valeurs autorisées sont :
inlineLa source des métadonnées d'intégrité est incluse dans le contenu, commel'attribut d'intégrité.Il s'agit de la valeur par défaut.
Comme il s'agit de la valeur par défaut et de la seule valeur, omettre
sourceséquivaut à définirsources=(inline).
endpointsFacultatifUne liste denoms de points de terminaison de rapport qui indiquent où les rapports seront envoyés.Les points de terminaison de rapport doivent être définis dans un en-tête
Reporting-Endpoints.
Exemples
>Signaler lorsque les scripts n'ont pas de métadonnées d'intégrité
Cet exemple montre un document qui signale lorsque l'élément HTML<script> (ouHTMLScriptElement) ne définit pas d'attributintegrity, ou lorsqu'une ressource de script est demandée en modeno-cors.
Notez que leintegrity-endpoint utilisé dansIntegrity-Policy-Report-Only est défini dans l'en-têteReporting-Endpoints.
Reporting-Endpoints: integrity-endpoint=https://exemple.com/integrity, backup-integrity-endpoint=https://report-provider.exemple/integrityIntegrity-Policy-Report-Only: blocked-destinations=(script), endpoints=(integrity-endpoint, backup-integrity-endpoint)Lacharge utile du rapport pourrait ressembler à ceci.
{ "type": "integrity-violation", "url": "https://exemple.com", "body": { "documentURL": "https://exemple.com", "blockedURL": "https://exemple.com/main.js", "destination": "script", "reportOnly": false }}Spécifications
| Specification |
|---|
| Subresource Integrity> # integrity-policy-section> |
Compatibilité des navigateurs
Voir aussi
- L'en-tête
Integrity-Policy - L'en-tête
Reporting-Endpoints - Politique d'intégrité
- L'API Reporting