Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
Uso del trabajador del servicio para habilitar los encabezados COOP/COEP: ¿preocupaciones de seguridad?

No puedo acceder a mi servidor para habilitar los encabezados COOP y COEP, pero pude agregarlos a través del trabajador de servicio usando el siguiente script https://github.com/gzuidhof/coi-serviceworker , que registra un trabajador de servicio que tiene los encabezados activos.

Necesito COOP y COEP para habilitar SharedArrayBuffer , que está restringido para evitar la vulnerabilidad de Spectre y Meltdown.

Mi pregunta es si agregar los encabezados https a través del trabajador del servicio representa un riesgo de seguridad, porque los encabezados no están configurados en el nivel del servidor.

Al final de este artículo, argumenta que esto no es un riesgo, https://dev.to/stefnotch/enabling-coop-coep-without-touching-the-server-2d3n

Pero agradecería una explicación para comprender mejor si el enfoque del trabajador del servicio es equivalentemente seguro o si deja vulnerabilidades abiertas.

¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Agregar esos encabezados a través de un trabajador de servicio es equivalente desde una perspectiva de seguridad y habilitará una funcionalidad equivalente. Sin embargo, hay algunas cosas a tener en cuenta:

  • Un trabajador del servicio no puede controlar una página de cliente durante la primera vez que un usuario navega a un sitio o después de una recarga de turno. Establecer estos encabezados a través del servidor web real es la única forma de garantizar que se aplicarán a esos escenarios. En términos generales, debe tener cuidado de degradar correctamente si hay funciones en su aplicación web principal que dependen de la presencia de un trabajador de servicio.

  • Hay una ligera sobrecarga involucrada en tener un trabajador de servicio controlando una página. Si estuviera respondiendo a las solicitudes yendo directamente a un caché local en lugar de a la red, eso normalmente superaría la sobrecarga. Dado que no parece que planee realizar ningún almacenamiento en caché en su trabajador de servicio, debe detectar funciones para las precargas de navegación y habilitarlas si es compatible. Esto mitigará el impacto potencial en el rendimiento.

  • Los encabezados solo deben configurarse en respuestas que pueden crear un cliente, como respuestas para documentos o trabajadores. Recomiendo verificar con su trabajador de servicio si el destino de la solicitud es o no para una de esas cosas antes de llamar a event.respondWith() . Esto ayudará a que su controlador de fetch funcione bien con cualquier otro controlador de fetch que también pueda estar registrado y que, por ejemplo, responda a solicitudes de subrecursos utilizando una estrategia de almacenamiento en caché. Algo como lo siguiente debería funcionar:

 self.addEventListener("fetch", (event) => { if (!["document", "iframe", "worker"].includes(event.request.destination)) { return; } event.respondWith(/* your logic here */); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda