Encabezados HTTP | Política de seguridad de contenido

El campo de encabezado de respuesta de la política de seguridad de contenido es una herramienta para implementar un mecanismo de defensa en profundidad para proteger los datos de las vulnerabilidades de inyección de contenido, como los ataques de secuencias de comandos cruzadas. Proporciona un mecanismo de política que permite a los desarrolladores detectar las fallas presentes en su aplicación y reducir los privilegios de la aplicación. Proporciona control de desarrollador sobre la aplicación a nivel granular para evitar varios ataques y mantener la integridad del contenido.

Sintaxis:

Política de seguridad de contenido: directiva directiva-valor; directiva directiva-valor

Lo anterior tiene la directiva y direct-value . Se pueden utilizar varias directivas de política en una línea separadas por punto y coma.

Directivas con ejemplos:

1. Directivas de obtención: se utilizan para controlar el punto desde el que se puede acceder o cargar un determinado recurso en el sistema.

  • child-src: controla la creación de contexto de navegación anidado y requests que llenan el marco de un trabajador.
    Content-Security-Policy: child-src https://example.com/
  • default-src: se usa para servir como lista de origen predeterminada de la política teniendo en cuenta el valor ingresado y sirve como respaldo para otras directivas de recuperación.
    Content-Security-Policy: default-src 'self'
  • frame-src: restringe las URL cargadas para el contexto de navegación anidado.
    Content-Security-Policy: frame-src https://example.com/
  • manifest-src: controla las URL desde las que se pueden cargar varios elementos de un recurso.
    Content-Security-Policy: manifest-src https://example.com/
  • object-src: se utiliza para restringir las URL que pueden cargar el contenido del complemento en la aplicación.
    Content-Security-Policy: object-src https://example.com/
  • connect-src: se utiliza para controlar las URL que se pueden cargar mediante interfaces de secuencias de comandos en las aplicaciones.
    Content-Security-Policy: connect-src https://example.com/
  • font-src: controla las URL que pueden cargar fuentes en la aplicación.
    Content-Security-Policy: font-src https://example.com/
  • img-src: controla las URL que pueden cargar imágenes en la aplicación.
    Content-Security-Policy: img-src https://example.com/
  • media-src: controla las URL que pueden cargar recursos de pistas de audio, video y texto asociado en la aplicación.
    Content-Security-Policy: media-src https://example.com/
  • style-src: Controla las fuentes que pueden cargar y aplicar Stylesheet a una aplicación.
  • script-src: controla las fuentes que pueden implementar JavaScript en la aplicación.
  • Pocas directivas de búsqueda son interfaces de programación de aplicaciones experimentales como prefetch-src, script-src-elem, script-src-attr, style-src-elem, style-src-attr y worker-src.

2. Directivas de documentos: estas directivas controlan la implementación de propiedades en todos los documentos y entornos de trabajo que se encuentran bajo el control de CSP.

  • tipos de complementos: limita los recursos cargados para restringir la posibilidad de que los complementos se incrusten en un documento.
    Content-Security-Policy: plugin-types application/pdf
  • base-uri: controla las URL que se pueden cargar en el elemento base presente en el documento.
  • sandbox: la política de sandbox HTML puede ser aplicada por el agente de usuario a través de las especificaciones de esta directiva.

3. Las directivas de navegación contienen directivas de forma-acción, ancestros de tramas y de navegación . La directiva de acción de formulario controla las URL que se pueden usar para el envío de formularios. La directiva frame-ancestors restringe las URL que pueden incrustar el recurso utilizando el elemento frame, iframe, object, embed o applet . La directiva de navegación especifica las URL a las que el documento puede atravesar a través de cualquier método.

4. Las directivas de informes contienen un informe que especifica el punto final para enviar informes de infracción. El report-uri utilizado anteriormente ahora está obsoleto.

Algunos ejemplos más:

Todos los ejemplos del artículo se tomaron del borrador de nivel 3 de CSP del World Wide Web Consortium.

Content-Security-Policy: script-src https://cdn.example.com/scripts/; object-src 'none'
Content-Security-Policy: script-src 'self'; report-to csp-reporting-endpoint
Content-Security-Policy: prefetch-src https://example.com/
Content-Security-Policy: worker-src https://example.com/
Content-Security-Policy: navigate-to example.com

Compatibilidad del navegador:

El nivel 3 de CSP recibe soporte parcial de las versiones Chrome 59+, Firefox 58+ y Edge 79+.
El nivel 2 de CSP recibe soporte completo de las versiones Chrome 40+, Safari 10+, Edge 76+ y soporte parcial de Firefox 31+ y Edge 15+.
El nivel 1 de CSP se proporciona soporte completo de las versiones Chrome 25+, Firefox 23+, Edge 12+ y Safari 7+.

Publicación traducida automáticamente

Artículo escrito por shreyanshisingh28 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 *