Obsoleto
Esta función ya no se recomienda. Aunque es posible que algunos navegadores aún lo admitan, es posible que ya se haya eliminado de los estándares web relevantes, que esté en proceso de ser eliminado o que solo se conserve por motivos de compatibilidad. Evite usarlo y actualice el código existente si es posible; consulte la tabla de compatibilidad en la parte inferior de esta página para guiar su decisión. Tenga en cuenta que esta función puede dejar de funcionar en cualquier momento.

El HTTP obsoleto Content-Security-Policy (CSP) report-uri La directiva instruye al agente de usuario a informar los intentos de violar la Política de seguridad de contenido. Estos informes de infracción consisten en documentos JSON enviados a través de una solicitud HTTP POST al URI especificado.

Aunque el report-to La directiva está destinada a reemplazar la obsoleta report-uri directiva, report-to aún no es compatible con la mayoría de los navegadores. Por lo tanto, para la compatibilidad con los navegadores actuales y, al mismo tiempo, agrega compatibilidad con versiones posteriores cuando los navegadores obtienen report-to soporte, puede especificar ambos report-uri y report-to:

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

En navegadores que admiten report-to, los report-uri se ignorará la directiva.

La directiva no tiene ningún efecto en sí misma, solo adquiere significado en combinación con otras directivas.

Versión CSP 1
Tipo de directiva Directiva de informes
Esta directiva no se admite en el elemento.

Sintaxis

Content-Security-Policy: report-uri ;
Content-Security-Policy: report-uri  ;
Un URI donde PUBLICAR el informe.

Ejemplos de

Ver Content-Security-Policy-Report-Only para obtener más información y ejemplos.

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

/csp-violation-report-endpoint/ podría, por ejemplo, ejecutar un PHP similar a lo siguiente que registra el JSON detallando la infracción y, si la infracción es la primera que se agrega al archivo de registro, envía un correo electrónico a un administrador:

// Start configure$log_file=dirname(__FILE__).'/csp-violations.log';$log_file_size_limit=1000000;// bytes - once exceeded no further entries are added$email_address='[email protected]';$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_UNESCAPED_SLASHES);if(!file_exists($log_file))// Send an email$message="The following Content-Security-Policy violation occurred on ".$current_domain.":nn".$json_data."nnFurther CPS violations will be logged to the following log file, but no further email notifications will be sent until this log file is deleted:nn".$log_file;mail($email_address,$email_subject,$message,'Content-Type: text/plain;charset=utf-8');elseif(filesize($log_file)>$log_file_size_limit)exit(0);file_put_contents($log_file,$json_data,FILE_APPEND

Especificaciones

Especificación Estado Comentario
Nivel de política de seguridad de contenido 3
La definición de ‘report-uri’ en esa especificación.
Borrador de trabajo Sin cambios.
Nivel de política de seguridad de contenido 2
La definición de ‘report-uri’ en esa especificación.
Recomendación Definición inicial.

Compatibilidad del navegadorActualizar datos de compatibilidad en GitHub

Escritorio
Cromo Borde Firefox explorador de Internet Ópera Safari
report-uri 25 14 23 No 15 7
Móvil
Vista web de Android Chrome para Android Firefox para Android Opera para Android Safari en iOS Internet de Samsung
report-uri 23 ? 7

Ver también

  • Content-Security-Policy
  • Content-Security-Policy-Report-Only

© 2005–2020 Mozilla y colaboradores individuales.
Con licencia de Creative Commons Attribution-ShareAlike License v2.5 o posterior.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-uri