Encabezados HTTP | Contenido-Seguridad-Política-Solo informe

El encabezado de respuesta HTTP Content-Security-Policy-Report-Only permite a los desarrolladores web probar las políticas vigilando sus efectos. Estos informes de infracción consisten en documentos JSON enviados a través de una solicitud HTTP POST al URI especificado. Es un encabezado de tipo respuesta.

Sintaxis:

Content-Security-Policy-Report-Only: <policy-directive>

Directivas: este encabezado acepta un solo encabezado mencionado anteriormente y descrito a continuación:

  • <policy-directive>: en este encabezado content-security-policyse puede usar el encabezado. Las report-uridirectivas deben usarse con este encabezado.

Nota: La report-uridirectiva está destinada a ser reemplazada por una report-todirectiva, report-toaún no es compatible con la mayoría de los navegadores. Por lo tanto, para abordar los problemas de compatibilidad, se pueden especificar ambos , report-uriya report-toque no solo agregaría compatibilidad con los navegadores actuales, sino que también agregaría compatibilidad hacia adelante cuando los navegadores obtengan report-tosoporte.

Content–Security-Policy:  ….; report-uri
https://written.geeksforgeeks.com; report-to groupname

Los navegadores compatibles report-toignorarán report-uri.

  • report-to: Dispara un SecurityPolicyViolationEvent. Como se indicó anteriormente, no es compatible con todos los navegadores a partir de ahora.

Ejemplos: El propósito del encabezado es informar cualquier infracción que pueda haber ocurrido. Se puede utilizar de forma iterativa para trabajar en una política de seguridad de contenido. Uno puede observar cómo se comporta su sitio, buscar informes de infracciones y/o redireccionamientos de malware , y luego elegir la política adecuada impuesta por el Content-Security-Policyencabezado.

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

Si uno desea recibir informes sin dejar de imponer la política, puede usar el Content-Security-Policyencabezado con la report-uridirectiva.

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

Para verificar este Contenido-Seguridad-Política-Informe-Solo en acción, vaya a Inspeccionar elemento -> Red , verifique el encabezado de solicitud de Contenido-Seguridad-Política-Informe-Solo como a continuación, Contenido-Seguridad-Política-Informe-Solo está resaltado puede ver.

Sintaxis del informe de infracción: el informe JSON contiene los siguientes datos:

  • uri bloqueado: el URI del recurso bloqueado por la política de seguridad de contenido para que no se cargue. Si el URI bloqueado proviene de una fuente diferente al uri del documento, entonces el URI bloqueado se acorta para contener solo el esquema, el host y el puerto.
  • Disposición: Ya sea “enforce”o “reporting”. Depende de si se utiliza el Content-Security-Policyo el Content-Security-Policy-Report-Onlyencabezado.
  • document-uri: el URI del documento que encontró la infracción.
  • directiva-efectiva: La directiva cuya implementación causó la violación.
  • política-original: la política original especificada por el Content-Security-Policy-Report-Onlyencabezado HTTP.
  • referente: El referente del documento que encontró la violación.
  • script-sample: los primeros 40 caracteres del script en línea, el controlador de eventos o el estilo que dio lugar a la infracción.
  • código de estado: el código de estado HTTP del recurso en el que se incorporó el objeto global.
  • directiva-violación: el nombre de la sección de la política infringida.

Ejemplo de informe de infracción: la página ubicada en http://geeksforgeeks.com/signup.html. A continuación se muestra la política implementada, que solo permite la hoja de estilo de cdn.geeksforgeeks.com.

Content-Security-Policy-Report-Only: default-src ‘none’; 
style-src cdn.geeksforgeeks.com; report-uri /_/csp-reports
  • Código HTML: El HTML de signup.htmlse ve así:

    <!DOCTYPE html>
    <html>
      
    <head>
        <title>Sign Up</title>
        <link rel=”stylesheet” href=”css/style.css”>
    </head>
      
    <body>
        . . .
    </body>
      
    </html>
  • Infracción: Aquí, el CSS solo puede descargarse desde la CDN, pero en el código HTML, los navegadores intentarán cargar desde su propio archivo local porque los navegadores enviarán la siguiente infracción.
    {
    “csp-report”:{
    “document-uri”: “http://geeksforgeeks.com/signup.html”,
    “referrer”: “”,
    “blocked-uri”: “http://geeksforgeeks.com/css/style.css”,
    “violated-directive”: “style-src cdn.geeksforgeeks.com”,
    “original-policy”: “default-src ‘none’; 
    style-src cdn.geeksforgeeks.com; report-uri /_/csp-reports”,
    “disposition”: “report”
    }
    }
    

Navegadores compatibles: los navegadores son compatibles con los encabezados HTTP Content-Security-Policy-Report-Only que se enumeran a continuación:

  • Google Chrome 25.0
  • Internet Explorer 10.0
  • Firefox 23.0
  • Safari 7.0
  • Ópera 15.0

Publicación traducida automáticamente

Artículo escrito por ScholarU y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *