[{"data":1,"prerenderedAt":141},["ShallowReactive",2],{"blog-tag-es-cross-origin-opener-policy":3},{"tagName":4,"posts":5},"Cross-Origin-Opener-Policy",[6],{"id":7,"title":8,"author":9,"body":10,"category":107,"date":108,"description":109,"extension":110,"faq":111,"meta":130,"navigation":131,"path":132,"readingTime":133,"seo":134,"slug":135,"stem":136,"tags":137,"__hash__":140},"blog\u002Fblog\u002Fes\u002Fwhat-is-cross-origin-opener-policy.md","¿Qué es la cabecera Cross-Origin-Opener-Policy y por qué es importante?","EuroraCloud Team",{"type":11,"value":12,"toc":96},"minimark",[13,17,21,26,29,32,36,39,42,46,49,52,56,59,62,66,69,72,76,79,89,93],[14,15,8],"h1",{"id":16},"qué-es-la-cabecera-cross-origin-opener-policy-y-por-qué-es-importante",[18,19,20],"p",{},"La cabecera Cross-Origin-Opener-Policy, normalmente escrita como COOP, es una cabecera de respuesta que controla si su página comparte una relación de ventana con páginas de otros orígenes. Ajustada a same-origin, aísla su documento en su propio grupo de contextos de navegación, de modo que una página de otro origen que abra la suya, o que usted abra, no pueda conservar ninguna referencia scriptable hacia su ventana. Esto cierra una clase de ataques cross-origin conocidos como XS-Leaks y ataques de canal lateral, y es además el ajuste que desbloquea ciertas funciones potentes del navegador.",[22,23,25],"h2",{"id":24},"por-qué-existe-la-cabecera-cross-origin-opener-policy","¿Por qué existe la cabecera Cross-Origin-Opener-Policy?",[18,27,28],{},"COOP existe porque abrir una ventana crea un vínculo que puede ser objeto de abuso. Cuando una página abre otra con window.open(), o una página abre la suya, el navegador puede conservar una referencia entre las dos ventanas mediante la propiedad window.opener. Si esas dos páginas proceden de orígenes distintos, esa referencia se convierte en una vía por la que una página cross-origin puede sondear la suya.",[18,30,31],{},"Los ataques que esto habilita son sutiles. No roban sus datos directamente, sino que los infieren mediante canales laterales, temporización y estado de navegador compartido, en una familia de técnicas que la comunidad de seguridad denomina XS-Leaks. Según la documentación de Mozilla, COOP se introdujo precisamente para que un sitio pueda garantizar que su documento de nivel superior no comparta un grupo de contextos de navegación con documentos cross-origin, y eso es exactamente lo que rompe esa referencia y cierra la vía.",[22,33,35],{"id":34},"qué-hace-realmente-la-cabecera-cross-origin-opener-policy","¿Qué hace realmente la cabecera Cross-Origin-Opener-Policy?",[18,37,38],{},"COOP decide si su documento y las páginas con las que interactúa pertenecen al mismo grupo de contextos de navegación, el concepto interno del navegador que determina si dos ventanas pueden scriptarse entre sí. Cuando la ajusta de forma estricta, su ventana pasa a su propio grupo, y cualquier ventana cross-origin pierde su referencia hacia la suya.",[18,40,41],{},"La cabecera tiene un pequeño conjunto de valores. El valor predeterminado, unsafe-none, no aplica aislamiento y deja que su documento comparta un grupo de contextos de navegación con páginas cross-origin. El valor estricto, same-origin, aísla su documento de modo que solo las páginas del mismo origen que también ajusten same-origin puedan permanecer en el mismo grupo. Un valor intermedio, same-origin-allow-popups, mantiene ese aislamiento pero permite que los popups que usted abre deliberadamente funcionen con normalidad, lo que es la opción práctica para sitios que dependen de flujos mediante popup como el pago o el inicio de sesión único. Cuando una ventana cross-origin se abre bajo same-origin, su window.opener pasa a null, de modo que la referencia sencillamente no existe.",[22,43,45],{"id":44},"qué-ocurre-si-no-la-configura","¿Qué ocurre si no la configura?",[18,47,48],{},"Sin COOP el valor predeterminado es unsafe-none, lo que significa que no hay aislamiento y la referencia de ventana permanece abierta. Una página cross-origin que abra la suya, o que usted abra, puede conservar un asidero sobre su ventana y usarlo como punto de apoyo para las técnicas de canal lateral descritas arriba.",[18,50,51],{},"Se trata de una brecha silenciosa, no ruidosa. Nada en su sitio parece roto, y la mayoría de los visitantes nunca la activarán, y precisamente por eso suele quedar sin atender. Pero para un sitio que trata algo sensible, un inicio de sesión, un portal de pacientes, un paso de pago, dejar abierta la relación de ventana es una exposición evitable, y es una que los escáneres de seguridad y las auditorías señalan cada vez más como una cabecera ausente.",[22,53,55],{"id":54},"cómo-se-implementa-la-cabecera-cross-origin-opener-policy","¿Cómo se implementa la cabecera Cross-Origin-Opener-Policy?",[18,57,58],{},"Configura COOP como una única cabecera de respuesta HTTP. Para la mayoría de los sitios el valor de partida correcto es Cross-Origin-Opener-Policy: same-origin-allow-popups, que le da aislamiento a la vez que preserva los flujos mediante popup; un sitio sin tales dependencias puede pasar al same-origin más estricto. Puede añadirse en el servidor web, en la capa de aplicación, o en el borde en un CDN o una capa de seguridad situada delante del sitio.",[18,60,61],{},"La única recomendación firme es: pruebe antes de imponer. COOP admite un modo report-only, enviado como Cross-Origin-Opener-Policy-Report-Only, que utiliza la Reporting API del navegador para indicarle qué rompería la política sin romperlo realmente. Ejecutar primero en report-only, vigilar los flujos de popup o de ventana que se verían afectados, y solo entonces cambiar a la cabecera impuesta es la vía segura, sobre todo en un sitio con integraciones de terceros que usted no construyó.",[22,63,65],{"id":64},"qué-cambia-en-su-sitio-una-vez-activada","¿Qué cambia en su sitio una vez activada?",[18,67,68],{},"Para la mayoría de los sitios, nada visible. Las cargas de página ordinarias, la navegación y el comportamiento del mismo origen no se ven afectados, y el aislamiento ocurre de forma invisible a nivel del navegador. La ganancia que obtiene es que las ventanas cross-origin ya no pueden conservar una referencia hacia la suya, lo que elimina la superficie de ataque sin tocar la experiencia de usuario.",[18,70,71],{},"El punto que conviene revisar es cualquier flujo que abra deliberadamente otro origen o sea abierto por él. Un proveedor de pagos, un proveedor de identidad, o una herramienta incrustada que se comunica mediante referencias de ventana puede verse afectada por un valor same-origin estricto, y precisamente por eso existe same-origin-allow-popups y por eso importa la prueba en report-only. Hay también una ventaja que vale la pena conocer: ajustar same-origin, junto con la cabecera afín Cross-Origin-Embedder-Policy, coloca su documento en un estado cross-origin isolated que algunas funciones potentes del navegador requieren, como SharedArrayBuffer y los temporizadores de alta resolución.",[22,73,75],{"id":74},"qué-debería-hacer-a-continuación","¿Qué debería hacer a continuación?",[18,77,78],{},"Empiece por comprobar si su sitio envía siquiera una cabecera Cross-Origin-Opener-Policy, ya que la ausencia predeterminada de cabecera significa que no hay aislamiento. Si falta, la vía de bajo riesgo es añadirla en modo report-only, confirmar que nada en sus flujos de popup o de terceros se rompe, y luego imponer same-origin-allow-popups como valor predeterminado sensato, o same-origin si su sitio no tiene dependencias de popups.",[18,80,81,82],{},"Si desea que esto se compruebe y configure correctamente en todo su sitio en lugar de pieza por pieza, EuroraCloud puede revisar sus cabeceras de seguridad actuales y mostrarle qué resuelve nuestra plataforma. ",[83,84,88],"a",{"href":85,"rel":86},"https:\u002F\u002Fwww.euroracloud.eu\u002F?utm_source=blog&utm_medium=article&utm_campaign=coop",[87],"nofollow","Vea qué resuelve EuroraCloud",[22,90,92],{"id":91},"conclusión-qué-debería-retener-sobre-la-cabecera-cross-origin-opener-policy","Conclusión: ¿qué debería retener sobre la cabecera Cross-Origin-Opener-Policy?",[18,94,95],{},"COOP es una cabecera silenciosa pero valiosa: aísla su ventana de navegador de las páginas cross-origin, cerrando una clase de ataques de canal lateral y mediante popups que no dejan ninguna señal visible hasta que un escáner o un atacante los encuentra. Para la mayoría de los sitios la vía segura es probar en modo report-only y luego imponer same-origin-allow-popups, que protege la ventana a la vez que preserva los flujos de popup legítimos. El paso más útil es comprobar si su sitio envía la cabecera hoy, porque mientras no lo haga, el valor predeterminado es la ausencia total de aislamiento.",{"title":97,"searchDepth":98,"depth":98,"links":99},"",2,[100,101,102,103,104,105,106],{"id":24,"depth":98,"text":25},{"id":34,"depth":98,"text":35},{"id":44,"depth":98,"text":45},{"id":54,"depth":98,"text":55},{"id":64,"depth":98,"text":65},{"id":74,"depth":98,"text":75},{"id":91,"depth":98,"text":92},"Cabeceras de seguridad","2026-07-13","La cabecera Cross-Origin-Opener-Policy permite a una página aislar su ventana de navegador de las páginas cross-origin que la abren o que ella abre, cerrando una clase de ataques de canal lateral y mediante popups. Esto es lo que hace, cómo configurarla y qué cambia cuando lo hace.","md",[112,114,116,119,121,124,127],{"question":25,"answer":113},"COOP existe porque abrir una ventana crea un vínculo scriptable que puede ser objeto de abuso. Cuando una página abre otra, el navegador puede conservar una referencia entre las dos ventanas mediante window.opener, y si las páginas proceden de orígenes distintos, esa referencia se convierte en una vía por la que una página cross-origin puede sondear la suya mediante canales laterales y temporización, una familia de técnicas conocida como XS-Leaks. COOP permite a un sitio garantizar que su documento de nivel superior no comparta un grupo de contextos de navegación con documentos cross-origin, lo que rompe esa referencia.",{"question":35,"answer":115},"COOP decide si su documento y las páginas con las que interactúa pertenecen al mismo grupo de contextos de navegación, el concepto interno del navegador que determina si dos ventanas pueden scriptarse. Ajustada de forma estricta, su ventana pasa a su propio grupo y las ventanas cross-origin pierden su referencia hacia la suya. Los valores son unsafe-none (predeterminado, sin aislamiento), same-origin (aislamiento estricto) y same-origin-allow-popups (aislamiento que permite los popups que usted abre). Bajo same-origin, el window.opener de una ventana cross-origin pasa a null.",{"question":117,"answer":118},"¿Qué ocurre si no configura la cabecera Cross-Origin-Opener-Policy?","Sin COOP el valor predeterminado es unsafe-none, lo que significa que no hay aislamiento y la referencia de ventana permanece abierta. Una página cross-origin que abra la suya, o que usted abra, puede conservar un asidero sobre su ventana y usarlo como punto de apoyo para ataques de canal lateral. Nada parece roto, y por eso queda sin atender, pero para un sitio con un inicio de sesión, un portal de pacientes o un paso de pago es una exposición evitable que los escáneres señalan cada vez más.",{"question":55,"answer":120},"Configure COOP como una única cabecera de respuesta HTTP, en el servidor web, en la capa de aplicación o en el borde. Para la mayoría de los sitios el valor de partida correcto es same-origin-allow-popups, que da aislamiento a la vez que preserva los flujos mediante popup; un sitio sin dependencias de popups puede usar el same-origin más estricto. Pruebe antes de imponer usando el modo report-only, enviado como Cross-Origin-Opener-Policy-Report-Only, que informa de qué rompería la política sin romperla.",{"question":122,"answer":123},"¿Qué cambia en su sitio una vez activada la cabecera Cross-Origin-Opener-Policy?","Para la mayoría de los sitios no cambia nada visible; las cargas de página ordinarias y el comportamiento del mismo origen no se ven afectados y el aislamiento ocurre a nivel del navegador. El punto que conviene revisar es cualquier flujo que abra deliberadamente otro origen o sea abierto por él, como un proveedor de pagos o de identidad, y por eso existe same-origin-allow-popups y por eso importa la prueba en report-only. Ajustar same-origin junto con Cross-Origin-Embedder-Policy también habilita un estado cross-origin isolated que algunas funciones potentes como SharedArrayBuffer requieren.",{"question":125,"answer":126},"¿Qué debería hacer a continuación respecto a la cabecera Cross-Origin-Opener-Policy?","Compruebe si su sitio envía una cabecera Cross-Origin-Opener-Policy, ya que la ausencia de cabecera significa que no hay aislamiento. Si falta, añádala en modo report-only, confirme que nada en sus flujos de popup o de terceros se rompe, y luego imponga same-origin-allow-popups como valor predeterminado sensato, o same-origin si su sitio no tiene dependencias de popups.",{"question":128,"answer":129},"¿Qué debería retener sobre la cabecera Cross-Origin-Opener-Policy?","COOP es una cabecera silenciosa pero valiosa que aísla su ventana de navegador de las páginas cross-origin, cerrando una clase de ataques de canal lateral y mediante popups que no dejan ninguna señal visible. Para la mayoría de los sitios la vía segura es probar en modo report-only y luego imponer same-origin-allow-popups, que protege la ventana a la vez que preserva los flujos de popup legítimos. El paso más útil es comprobar si su sitio envía la cabecera hoy, porque mientras no lo haga, el valor predeterminado es la ausencia total de aislamiento.",{},true,"\u002Fblog\u002Fes\u002Fwhat-is-cross-origin-opener-policy","7 minutos",{"title":8,"description":109},"what-is-cross-origin-opener-policy","blog\u002Fes\u002Fwhat-is-cross-origin-opener-policy",[4,107,138,139],"Seguridad web","Aislamiento del navegador","JaWN9lE_1nyh29murlx6JTSsXTlEXkagGLdwyKi-nx8",1785141133211]