Feedback

# Headers

## Desabilitar o Auditor XSS

XSS es la abreviatura de Cross-Site Scripting, que es un ataque que consiste en enviar HTML con JavaScript malicioso a un sitio web.

Es un ataque de seguridad que consiste en enviar HTML malicioso a un sitio web. Si el sitio web muestra este HTML con JavaScript sin filtrar el código JavaScript malicioso, las cookies enviadas por el sitio web pueden ser robadas y enviadas a un sitio web atacante, para que pueda usarlo para falsificar sesiones de usuario y acceder a la cuenta del sitio web. usuario sin permisos.

## Strict-Transport-Security

HSTS obliga a los navegadores a usar HTTPS en el dominio donde está habilitado, en lugar de usar HTTP.

Cuando está habilitado, el valor predeterminado es “max-age=31536000”.

La política HSTS está establecida por un año (31536000 segundos). Este período especifica la hora en que el navegador accederá al servidor a través de HTTP.

## X-Frame-Options

El encabezado de respuesta HTTP X-Frame-Options se puede utilizar para indicar si el navegador debe representar la página en un formato `<frame>`, `<iframe>`, `<embed>` o `<object>`. Este encabezado proporciona protección contra el secuestro de clics, conocido como “deslizar el dedo”; esta vulnerabilidad puede robar información y datos relevantes del usuario.

X-Frame-Options no permite la representación de una página en un marco, lo que garantiza que el contenido de su página no esté incrustado en otros sitios.

- SAMEORIGIN: La directiva SAMEORIGIN permite que la página se cargue en un marco desde la misma fuente que la propia página. Esta opción debe usarse para que la aplicación con protección contra clickjacking pueda usarse en la aplicación de menú.
- DENY: Esta directiva deshabilita completamente la carga de páginas en un marco.

> Si no se selecciona ninguna opción, la aplicación se puede utilizar en cualquier momento `<frame>`, `<iframe>`, `<embed>` o `<object>`, permitiendo que la aplicación se incorpore a otro sitio web.

## X-Content-Type-Options

O X-Content-Type-Options se utiliza para proteger contra vulnerabilidades de detección MIME. Con esta opción habilitada, evita que los navegadores interpreten el contenido de la página (sniffing) y ejecuten los datos como código/etiqueta. Estas vulnerabilidades pueden ocurrir cuando se carga un archivo de texto con un código javascript y el navegador lee el contenido que está en el archivo y lo ejecuta, aunque sea solo texto y no parte del código.

Con esto habilitado, el encabezado HTTP X-Content-Type-Options se define, de forma predeterminada, como “sin detección”.

## Referrer-Policy

#### no-referrer.

El encabezado Referer se omitirá por completo. No se enviará información de referencia con las solicitudes..

#### no-referrer-when-downgrade.

Este es el comportamiento predeterminado cuando no se especifica ninguna política o si el valor proporcionado no es válido.

#### origin.

Envíe únicamente el origen del documento como referencia. Por ejemplo, un documento en https://example.com/page.html enviará la referencia https://example.com/.

#### origin-when-cross-origin.

Envía el origen, la ruta y la cadena de consulta cuando se realiza una solicitud del mismo origen, pero solo envía el origen del documento en otros casos.

#### same-origin.

La referencia se enviará a fuentes en el mismo sitio, pero las solicitudes entre fuentes no enviarán información de referencia.

#### strict-origin.

Solo envíe la fuente del documento como referencia cuando el nivel del protocolo de seguridad siga siendo el mismo (HTTPS → HTTPS), pero no lo envíe a un destinatario menos seguro (HTTPS → HTTP).

#### strict-origin-when-cross-origin.

Envía la fuente, la ruta y la cadena de consulta cuando se realiza una solicitud desde la misma fuente, solo envía la fuente cuando el nivel del protocolo de seguridad sigue siendo el mismo durante una solicitud entre fuentes (HTTPS → HTTPS) y no envía ningún encabezado a los destinatarios menos seguro (HTTPS → HTTP)

#### unsafe-url.

Envía la fuente, la ruta y la cadena de consultas al realizar cualquier solicitud, independientemente de la seguridad.

## Feature-Policy

El valor de este encabezado es una política o un conjunto de políticas que desea que el navegador respete para una fuente en particular..

La lista blanca de origen puede adoptar varios valores diferentes:

- `*:` La función está permitida en contextos de navegación de nivel superior y contextos de navegación anidados (iframes).
- `'self':` La función está permitida en contextos de navegación de nivel superior y contextos de navegación anidados de la misma fuente. No está permitido en documentos de origen cruzado en contextos de navegación anidados.
- `'none':` La función no está permitida en contextos de navegación de nivel superior y no está permitida en contextos de navegación anidados.
- `<origin(s)>:` fuentes específicas para las que habilitar la política (por ejemplo, https://example.com).

Ejemplo 1: uso de una sola política Supongamos que desea evitar que todo el contenido utilice la API de geolocalización en su sitio. Puede hacer esto enviando una lista blanca restringida ‘ninguno’ al recurso de geolocalización:

Feature-Policy: `geolocalización 'none'`

Ejemplo 2: uso de más de una directiva Las funciones de una política están separadas por punto y coma.

Feature-Policy: `unsized-media 'none'; geolocalización 'self' https://example.com; camera*;`

### Directivas

#### acelerómetro

Controla si el documento actual puede recopilar información sobre la aceleración del dispositivo a través de la interfaz del acelerómetro.

#### sensor de luz ambiental

Controla si el documento actual puede recopilar información sobre la cantidad de luz en el entorno alrededor del dispositivo a través de la interfaz AmbientLightSensor.

#### auto-reproducción

Controla si el documento actual puede reproducir los medios solicitados automáticamente a través de la interfaz HTMLMediaElement. Cuando esta política está deshabilitada y no hay acción del usuario, la Promesa devuelta por HTMLMediaElement.play () la rechazará con una DOMException. Se ignorará el atributo de reproducción automática en los elementos `<audio> '' y` ''.

#### batería

Controla si se permite el uso de la API de estado de la batería. Cuando esta política está deshabilitada, la promesa devuelta por Navigator.getBattery () la rechazará con una excepción DOMException NotAllowedError.

#### camara

Controla si el documento actual puede usar entradas de dispositivos de video. Cuando esta política está deshabilitada, la promesa devuelta por getUserMedia () la rechazará con una excepción DOMException NotAllowedError.

#### captura de pantalla

Controla si el documento actual puede utilizar el método getDisplayMedia () para capturar el contenido de la pantalla. Cuando esta política está deshabilitada, la Promesa devuelta por getDisplayMedia () la rechazará con NotAllowedError si no se obtiene el permiso para capturar el contenido del ternero.

#### dominio-documento

Controle si el documento actual puede colocar document.domain. Cuando esta política está deshabilitada, los intentos de colocar document.domain fallarán y provocará que se lance una SecurityError DOMException.

#### medios-cifrados

Controla si el documento actual puede utilizar la API de extensiones de medios cifrados (EME). Cuando esta política está deshabilitada, la Promesa devuelta por Navigator.requestMediaKeySystemAccess () la rechazará con una DOMException.

#### ejecución-mientras-no-renderizado

Controla si las tareas deben realizarse en marcos mientras no están renderizados (por ejemplo, si un marco está oculto o se muestra: ninguno).

#### ejecución-mientras-fuera-de-viewport

Controla si las tareas deben realizarse en marcos mientras están fuera de la ventana de visualización visible.

#### pantalla completa

Controla si el documento actual puede utilizar Element.requestFullScreen (). Cuando esta política está deshabilitada, la Promesa devuelta la rechaza con una excepción DOMException TypeError.

#### geolocalización

Controla si el documento actual puede utilizar la interfaz de geolocalización. Cuando la política está deshabilitada, las llamadas a getCurrentPosition () y watchPosition () harán que se invoquen devoluciones de llamada de función con un PositionError de PERMISSION_DENIED.

#### giroscopio

Controla si el documento actual puede recopilar información sobre la orientación del dispositivo a través de la interfaz del giroscopio.

#### animaciones de diseño

Controla si el documento actual puede mostrar animaciones de diseño.

#### formatos de imagen heredados

Controla si el documento actual puede mostrar imágenes en formatos heredados.

#### magnetómetro

Controla si el documento actual puede recopilar información sobre la orientación del dispositivo a través de la interfaz del magnetómetro.

#### micrófono

Controla si el documento actual puede utilizar entradas de dispositivos de audio. Cuando esta política está deshabilitada, la Promesa devuelta por MediaDevices.getUserMedia () la rechazará con un NotAllowedError.

#### midi

Controla si el documento actual puede utilizar la API Web MIDI. Cuando esta política está deshabilitada, la Promesa devuelta por Navigator.requestMIDIAccess () la rechazará con una DOMException.

#### anulación de navegación

Controla la disponibilidad de mecanismos que permiten al autor de la página tomar control sobre el comportamiento de la navegación espacial o cancelarla por completo.

#### imágenes de gran tamaño

Controla si el documento actual puede descargar y mostrar imágenes grandes.

#### pago

Controla si el documento actual permite el uso de la API de solicitud de pago. Cuando esta política está deshabilitada, el constructor PaymentRequest () lanzará una SecurityError DOMException.

#### imagen en imagen

Controla si el documento actual permite la reproducción de un video en el modo Picture-in-Picture a través de la API correspondiente.

#### publickey-credentials-get

Controla si el documento actual puede utilizar la API de autenticación web para recuperar credenciales de clave pública ya almacenadas, es decir, a través de navigator.credentials.get ({publicKey: …, …}).

#### sync-xhr

Controla si el documento actual puede realizar solicitudes XMLHttpRequest sincrónicas.

#### usb

Controla si el documento actual puede utilizar la API WebUSB.

#### vr

Controla si el documento actual puede utilizar la API de WebVR. Cuando esta política está deshabilitada, la Promesa devuelta por Navigator.getVRDisplays () la rechazará con una DOMException. Tenga en cuenta que el estándar WebVR está en proceso de ser reemplazado por WebXR.

#### wake-lock

Controla si el documento actual puede utilizar la API de Wake Lock para indicar que el dispositivo no debe entrar en modo de ahorro de energía.

#### screen-wake-lock

Controla si el documento actual puede utilizar la API de bloqueo de activación de pantalla para indicar si el dispositivo debe oscurecer la pantalla o no.

#### xr-spatial-tracking

Controla si el documento actual puede utilizar la API del dispositivo WebXR para interactuar con la sesión WebXR.

## Content-Security-Policy

Content-Security-Policy es el nombre de un encabezado de respuesta HTTP que utilizan los navegadores modernos para aumentar la seguridad del documento (o página web).

El encabezado Content-Security-Policy le permite restringir recursos como JavaScript, CSS o casi cualquier cosa que cargue el navegador.

### Directivas

#### default-src

La directiva default-src define la política estándar para obtener características como JavaScript, imágenes, CSS, fuentes, solicitudes AJAX, marcos, HTML5 Media. No todas las directivas vuelven a default-src. Consulte la Referencia de la lista de fuentes para conocer los valores posibles.

Ejemplo de política DEFAULT-SRC `default-src 'self' cdn.example.com;`

#### script-src

Define fuentes JavaScript válidas.

Ejemplo de Política SCRIPT-SRC `script-src 'self' js.example.com;`

#### style-src

Define fuentes válidas para hojas de estilo o CSS.

EJEMPLO DE POLÍTICA STYLE-SRC__ `style-src 'self' css.example.com;`

#### img-src

Define fuentes de imágenes válidas.

Ejemplo de Política IMG-SRC `img-src 'self' img.example.com;`

#### connect-src

Se aplica a XMLHttpRequest (AJAX), WebSocket, fetch (), `` ‘’ ‘o EventSource. Si no está permitido, el navegador emula un código de estado HTTP 400.

Ejemplo de Política CONNECT-SRC `connect-src 'self';`

#### font-src

Define fuentes válidas para recursos de fuentes (cargadas a través de @ font-face).

Ejemplo de Política FONT-SRC `font-src font.example.com;`

#### object-src

Define fuentes de plug-ins válidas, por ejemplo, ``<objeto>` `,`` ``o` `<applet>` `..

Ejemplo de Política OBJECT-SRC `object-src 'self';`

#### media-src

Define fuentes de audio y video válidas, por ejemplo, elementos `<audio>` `, HTML5,` `` `.

Ejemplo de Política MEDIA-SRC `media-src media.example.com;`

#### frame-src

Define fuentes válidas para cargar marcos. En CSP, el nivel 2 frame-src ha quedado obsoleto en favor de child-srcdirective. CSP Nivel 3, no se ha reemplazadoframe-src y continuará posponiendo child-src si no está presente.

Ejemplo FRAME-SRC `frame-src 'self';`

#### sandbox

Habilita una caja de arena para el recurso solicitado similar al atributo de caja de arena de iframe. El sandbox aplica una política del mismo origen, evita ventanas emergentes, complementos y bloquea la ejecución de scripts. Puede mantener el valor de la zona de pruebas vacío para mantener todas las restricciones en su lugar, o agregar valores: allow-forms allow-same-origin allow-scripts allow-popups, allow-modals, allow-Orientation-lock, allow-pointer-lock, allow-presentation, allow-popups-to-escape-sandbox, eallow-top-navigation

Ejemplo de política de SANDBOX `sandbox allow-forms allow-scripts;`

#### report-uri

Indica al navegador que envíe informes de fallos de políticas a este URI. También puede utilizar Content-Security-Policy-Report-Only como el nombre del encabezado HTTP para indicarle al navegador que envíe informes únicamente (no bloquea nada). Esta directiva se suspendió en el nivel 3 de CSP a favor de la directiva de informe.

Ejemplo REPORT-URI `report-uri /some-report-uri;`

#### child-src

Define fuentes válidas para trabajadores web y contextos de navegación anidados cargados con elementos como `<frame> '' y` <iframe> ‘’

Ejemplo de Política child-SRC `child-src 'self'`

#### form-action

Define fuentes válidas que se pueden utilizar como una acción HTML ``<form>``.

Ejemplo de política de acción de formulario `form-action 'self';`

#### frame-ancestors

Define fuentes válidas para incrustar el recurso usando ``<frame> <iframe> <object> <embed> <applet>``. Establecer esta directiva en ‘none’ debería ser aproximadamente equivalente a X-Frame-Options: DENY FRAME-ANCESTORS__ EJEMPLO DE POLÍTICA marco-ancestros ‘ninguno’;

#### plugin-types

Define tipos MIME válidos para complementos llamados a través de `<objeto>` y `<embed>` `. Para cargar uno,` ` <applet> ‘’ debe especificar application / x-java-applet.

Ejemplo de Política de TIPOS de PLUG-IN `plugin-types application/pdf;`

#### base-uri

Define un conjunto de URL permitidas que se pueden usar en el atributo de una etiqueta base HTML.

Ejemplo de Política de URI-BASE `base-uri 'self';`

#### report-to

Define un nombre de grupo de informes definido por un encabezado de informe de respuesta HTTP. Consulte la API de informes para obtener más información.

Ejemplo de informe para política `report-to groupName;`

#### worker-src

Restringe las URL que se pueden cargar como Worker, SharedWorker o ServiceWorker.

Ejemplo de Política WORKER-SRC `worker-src 'none';`

#### manifest-src

Restringe las URL donde se pueden cargar los manifiestos de la aplicación..

Ejemplo de Política MANIFEST-SRC `manifest-src 'none';`

#### prefetch-src

Define fuentes válidas para la búsqueda previa y la reproducción previa de solicitudes, por ejemplo, a través de la etiqueta de enlace con rel = “prefetch” o rel = “prerender”:

Ejemplo de Política PREFETCH-SRC `prefetch-src 'none'`

#### navigate-to

Restringe las URL a las que puede navegar el documento por cualquier medio. Por ejemplo, cuando se hace clic en un enlace, se envía un formulario o se llama a window.location. Si form-action está presente, esta directiva se ignorará para enviar formularios. Estado de implementación

Ejemplo de política de NAVEGACIÓN `navigate-to example.com`