Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Aislamiento de contexto con COOP, CORP y COEP

5 tareas · 40 min · Principiante

Tres cabeceras con nombres parecidos deciden cosas distintas: con qué ventanas comparte contexto una página, quién puede cargar un recurso y qué recursos acepta incrustar una página. Juntas, además, desbloquean funciones del navegador que solo se permiten en una página aislada. Empleos Tangaral las activó en preproducción para su visor nuevo de hojas de vida, y se rompieron dos cosas. Se leen las cabeceras por ruta, los recursos que carga el visor y las notas de QA.

0 de 5 · 0%

Objetivo de la sala

Tres cabeceras con nombres parecidos deciden cosas distintas: con qué ventanas comparte contexto una página, quién puede cargar un recurso y qué recursos acepta incrustar una página. Juntas, además, desbloquean funciones del navegador que solo se permiten en una página aislada. Empleos Tangaral las activó en preproducción para su visor nuevo de hojas de vida, y se rompieron dos cosas. Se leen las cabeceras por ruta, los recursos que carga el visor y las notas de QA.

  • COOP (Cross-Origin-Opener-Policy) responde «¿con qué ventanas comparto contexto?». Con same-origin, una ventana de otro origen que abra esta página, o que esta página abra, queda en un grupo aparte, y la referencia entre las dos se corta. Con unsafe-none, el valor por defecto, no hay separación. Hay un valor intermedio para las páginas que necesitan conservar la referencia a las ventanas emergentes que ellas abren.
  • CORP (Cross-Origin-Resource-Policy) la pone el recurso y responde «¿quién puede incrustarme?»: same-origin, same-site o cross-origin. El navegador la aplica a las peticiones sin CORS, como una imagen o un script normal.
  • COEP (Cross-Origin-Embedder-Policy) la pone la página y responde «¿qué acepto incrustar?». Con require-corp, cada recurso de otro origen tiene que traer una CORP que lo permita o pasar por CORS; si no, se bloquea.

Responde para continuar

¿Qué resume mejor el papel de cada cabecera?

Ver pista de ayuda

Una la pone la página sobre sus ventanas, otra la página sobre lo que incrusta y otra el recurso sobre sí mismo.

Una página queda aislada entre orígenes (window.crossOriginIsolated es verdadero) solo si envía a la vez COOP con el valor same-origin exacto y COEP con require-corp o credentialless. Con eso, el navegador habilita funciones como la memoria compartida entre hilos que necesita el motor del visor. Cualquier otro valor de COOP, aunque se parezca, no basta.

Abre cabeceras-preproduccion.txt y notas-qa.txt.

Responde para continuar

¿Qué valor de COOP impide que /visor quede aislado? Escríbelo tal como aparece.

Ver pista de ayuda

Compara la fila de /visor con los dos requisitos del aislamiento.

Cuando el visor quede aislado, COEP revisará cada subrecurso. Pasan los del mismo origen; los de otro origen pasan si traen una CORP que los permita (same-site sirve para un subdominio del mismo sitio) o si se pidieron con CORS y el servidor lo aceptó. El resto se bloquea. Por eso, antes de activar require-corp, se hace el inventario de subrecursos y se habla con cada tercero. Abre recursos-del-visor.txt.

Responde para continuar

¿De qué host es el recurso del visor que COEP bloqueará? Escribe el host sin esquema.

Ver pista de ayuda

Busca el recurso de otro sitio que no trae ninguna de las dos cosas que COEP acepta.

COOP se decide por documento, así que se puede aplicar en una ruta sin tocar las demás. Pero en cada ruta donde se ponga hay que saber qué ventanas abre esa página y cuáles necesitan seguir hablándole. La ventana de inicio de sesión del portal vive en otro subdominio, que es otro origen, y avisa con un mensaje a la página que la abrió.

Responde para continuar

¿En qué ruta rompió COOP el inicio de sesión? Escríbela tal como aparece.

Ver pista de ayuda

Cruza la nota 2 de QA con las cabeceras por ruta.

CORP no solo sirve para el aislamiento: es una defensa directa contra las fugas entre sitios de la sala anterior. Un recurso privado que declara cross-origin le dice al navegador que cualquier sitio puede incrustarlo con la sesión de la persona. El valor correcto sale de saber quién lo usa.

Responde para continuar

La foto y el certificado del candidato declaran CORP cross-origin. ¿Qué recomiendas?

Ver pista de ayuda

Revisa la nota de quién usa la foto y el certificado.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad