freeCodeCamp/curriculum/challenges/spanish/06-information-security-and.../information-security-with-h.../ask-browsers-to-access-your...

2.5 KiB

id title challengeType videoUrl localeTitle
587d8248367417b2b2512c3c Ask Browsers to Access Your Site via HTTPS Only with helmet.hsts() 2 Pida a los navegadores que accedan a su sitio a través de HTTPS solo con helmet.hsts ()

Description

Como recordatorio, este proyecto se está construyendo sobre el siguiente proyecto de inicio en Glitch , o clonado desde GitHub . HTTP Strict Transport Security (HSTS) es una política de seguridad web que ayuda a proteger los sitios web contra ataques de degradación del protocolo y el secuestro de cookies. Si se puede acceder a su sitio web a través de HTTPS, puede solicitar a los navegadores de los usuarios que eviten el uso de HTTP inseguro. Al establecer el encabezado Strict-Transport-Security, le indica a los navegadores que utilicen HTTPS para las futuras solicitudes en un período de tiempo específico. Esto funcionará para las solicitudes que vienen después de la solicitud inicial. Configure helmet.hsts () para usar HTTPS durante los próximos 90 días. Pase el objeto de configuración {maxAge: timeInMilliseconds, force: true}. La falla ya tiene hsts habilitados. Para anular su configuración, debe establecer el campo "forzar" en verdadero en el objeto de configuración. Interceptaremos y restauraremos el encabezado de Glitch, después de inspeccionarlo para realizar pruebas. Nota: la configuración de HTTPS en un sitio web personalizado requiere la adquisición de un dominio y un certificado SSL / TSL.

Instructions

Tests

tests:
  - text: casco.hsts () middleware debe ser montado correctamente
    testString: 'getUserInput => $.get(getUserInput("url") + "/_api/app-info").then(data => { assert.include(data.appStack, "hsts"); assert.property(data.headers, "strict-transport-security"); }, xhr => { throw new Error(xhr.responseText); })'
  - text: maxAge debe ser igual a 7776000 ms (90 días)
    testString: 'getUserInput => $.get(getUserInput("url") + "/_api/app-info").then(data => { assert.match(data.headers["strict-transport-security"], /^max-age=777600000;?/); }, xhr => { throw new Error(xhr.responseText); })'

Challenge Seed

Solution

// solution required