Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Référence
  4. En-têtes
  5. Content-Security-Policy
  6. CSP: report-uri

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

CSP: report-uri

Obsolète: Cette fonctionnalité n'est plus recommandée. Même si certains navigateurs la prennent encore en charge, elle a peut-être déjà été supprimée des standards du web, est en passe d'être supprimée ou n'est conservée qu'à des fins de compatibilité. Évitez de l'utiliser et mettez à jour le code existant si possible ; consultez letableau de compatibilité au bas de cette page pour vous aider à prendre votre décision. Sachez que cette fonctionnalité peut cesser de fonctionner à tout moment.

La directive HTTPContent-Security-Policy (CSP)report-uri demande à l'agent utilisateur de rapporter les violations de règles CSP. Ces rapports de violation sont constituées d'un document JSON envoyé via une requête HTTP POST à l'URI fournie.

Attention :Bien que la directivereport-to est prévue remplacer la directivereport-uri maintenant dépréciée,report-to n'est pas encore supportée par la plupart des navigateurs modernes. Par rétrocompatibilité avec les navigateurs courants et tout en prévoyant une compatibilité future quand les navigateurs supporterontreport-to, vous pouvez spécifier les deux directivesreport-uri etreport-to:

Content-Security-Policy: ...; report-uri https://endpoint.com; report-to groupname

Dans les navigateurs qui supportentreport-to, la directivereport-uri sera ignorée.

Cette directive n'a aucun effet en elle-même, mais prend tout son sens en étant combinée à d'autres directives.

Version de CSP1
Type de directiveReporting directive
Cette directive n'est pas supportée dans l'élément<meta>.

Syntaxe

Content-Security-Policy: report-uri <uri>;Content-Security-Policy: report-uri <uri> <uri>;
<uri>

Une URI où envoyer la requête POST contenant le rapport de violation.

Exemples

VoirContent-Security-Policy-Report-Only pour plus d'informations et d'exemples.

Content-Security-Policy: default-src https:; report-uri /csp-violation-report-endpoint/

/csp-violation-report-endpoint/ pourrait par exemple exécuter un script PHP similaire au suivant qui journaliserait le JSON détaillant la violation et, si elle est la première ajoutée au journal, enverrait un courril à l'administrateur :

php
<?php// Start configure$log_file = dirname(__FILE__) . '/csp-violations.log';$log_file_size_limit = 1000000; // bytes - once exceeded no further entries are added$email_address = 'admin@example.com';$email_subject = 'Content-Security-Policy violation';// End configuration$current_domain = preg_replace('/www\./i', '', $_SERVER['SERVER_NAME']);$email_subject = $email_subject . ' on ' . $current_domain;http_response_code(204); // HTTP 204 No Content$json_data = file_get_contents('php://input');// We pretty print the JSON before adding it to the log fileif ($json_data = json_decode($json_data)) {  $json_data = json_encode($json_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);  if (!file_exists($log_file)) {    // Send an email    $message = "The following Content-Security-Policy violation occurred on " .      $current_domain . ":\n\n" .      $json_data .      "\n\nFurther CPS violations will be logged to the following log file, but no further email notifications will be sent until this log file is deleted:\n\n" .      $log_file;    mail($email_address, $email_subject, $message,         'Content-Type: text/plain;charset=utf-8');  } else if (filesize($log_file) > $log_file_size_limit) {    exit(0);  }  file_put_contents($log_file, $json_data, FILE_APPEND | LOCK_EX);}

Spécifications

Specification
Content Security Policy Level 3
# directive-report-uri

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp