🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónAislamiento 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.
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?». Consame-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. Conunsafe-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-siteocross-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?». Conrequire-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.
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.