Seguridad de Firefox: rel = noopener para target = _blank

Mozilla está probando una nueva función de seguridad en Firefox Nightly actualmente que agrega rel = 'noopener' automáticamente a los enlaces que usan target = '_ blank'.

Target = '_ blank' indica a los navegadores que abran automáticamente el destino del enlace en una nueva pestaña del navegador web; sin el atributo de destino, los enlaces se abrirían en la misma pestaña a menos que los usuarios utilicen la funcionalidad de navegador integrada, p. ej. manteniendo presionada la tecla Ctrl o Mayús, para abrir el enlace de una manera diferente.



Rel = 'noopener es compatible con todos los principales navegadores web. El atributo asegura que el abridor de ventanas sea nulo en los navegadores modernos. Nulo significa que no contiene ningún valor.

Si no se especifica rel = 'noopener', los recursos vinculados tienen control total sobre el objeto de la ventana de origen incluso si los recursos están en orígenes diferentes. El enlace de destino podría manipular el documento de origen, p. Ej. reemplácelo con un aspecto similar para el phishing, muestre publicidad en él o manipúlelo de cualquier otra manera imaginable.

Puede consultar una página de demostración sobre el abuso de rel = 'noopener' aquí. Es inofensivo, pero destaca cómo los sitios de destino pueden alterar el sitio de origen si no se utiliza el atributo.

ghacks rel noopener

Rel = 'noopener' protege el documento de origen. Los webmasters pueden, y deben, especificar rel = 'noopener' siempre que utilicen target = '_ blank'; ya usamos el atributo en todos los enlaces externos aquí en este sitio.



Apple implementó un cambio en Safari en octubre que aplica rel = noopener automáticamente a cualquier enlace que use target = _blank.

La versión Nightly de Firefox ahora también admite la función de seguridad. Mozilla quiere recopilar datos para asegurarse de que el cambio no rompa nada importante en Internet.

La preferencia dom.targetBlankNoOpener.enable controla la funcionalidad. Solo está disponible en Firefox 65 y se establece en verdadero de forma predeterminada (lo que significa que se agrega rel = '_ noopener').

dom.targetBlankNoOpener.enable

Los usuarios de Firefox pueden cambiar la preferencia para desactivar la función. Si bien no se recomienda debido a las implicaciones de seguridad, es posible que desee hacerlo si tiene problemas de compatibilidad.



  1. Cargue about: config? Filter = dom.targetBlankNoOpener.enable en la barra de direcciones del navegador.
  2. Confirme que tendrá cuidado si se muestra el mensaje de advertencia.
  3. Haga doble clic en la preferencia.

Un valor de verdadero significa que rel = 'noopener' se agrega a los enlaces con target = '_ blank', un valor de falso que no es.

Mozilla apunta a Firefox 65 para la versión estable. Las cosas pueden retrasarse dependiendo de los problemas que se puedan informar o notar. Firefox 65 se lanzará el 29 de enero de 2019. (vía Sören Hentzschel)