Cuando creamos enlaces en nuestras páginas web, es común usar el atributo target con el valor _blank para abrir estos enlaces en una nueva pestaña. Esta práctica mejora la experiencia de usuario, ya que permite mantener la página original abierta mientras se navega por la nueva. Sin embargo, el uso de este atributo puede introducir una la vulnerabilidad target _blank si no se maneja adecuadamente.
La vulnerabilidad asociada con target _blank surge porque la página nueva abierta en la pestaña tiene acceso a la página original mediante la propiedad window.opener. Esto significa que el sitio abierto en la nueva pestaña puede potencialmente manipular la página que lo abrió, lo que puede llevar a ataques de phishing, redirección maliciosa, o incluso a la ejecución de scripts no autorizados.
Un atacante podría crear un sitio web malicioso y atraer a los usuarios para que hagan clic en un enlace que se abre en una nueva pestaña. Una vez que el sitio malicioso se abre, podría usar window.opener para cambiar la ubicación de la página original a una versión falsa de un sitio de confianza, como una página de inicio de sesión de un banco. Esto podría engañar al usuario para que introduzca sus credenciales en el sitio falso, permitiendo al atacante robar información sensible.
Para mitigar esta vulnerabilidad, es esencial añadir el atributo rel="noopener noreferrer" a todos los enlaces que usen target _blank. Este atributo previene que la nueva pestaña tenga acceso a window.opener, eliminando así la posibilidad de manipulación de la página original.
noopener: Previene que la nueva página acceda a la propiedad window.opener del documento que la abrió.noreferrer: Además de la protección de noopener, evita que la nueva página reciba información de referencia acerca del origen del tráfico, es decir, no sabrá desde qué página se abrió el enlace.
Por suerte si tu sitio web usa WordPress, no hay porqué temer. Por defecto WordPress añade el atributo rel con los valores noreferrer noopener a los enlaces cuando seleccionas que éstos deben abrirse en una pestaña nueva.
La implementación del atributo rel="noopener noreferrer" puede tener algunas implicaciones en el SEO de tu sitio web:
noreferrer, la nueva página no recibirá información sobre la página de referencia. Esto puede afectar la analítica de tráfico del sitio web destino, ya que no podrá rastrear de dónde provienen los usuarios.noopener y noreferrer no afectan directamente la transferencia de PageRank, siempre es importante mantener una estructura de enlaces saludable y relevante para mejorar el posicionamiento en los motores de búsqueda.El uso de target _blank es una práctica común, pero ignorar la vulnerabilidad que introduce puede poner en riesgo la seguridad de tu sitio web y la información de tus usuarios. Implementar rel="noopener noreferrer" es una solución sencilla y efectiva para proteger tu sitio contra este tipo de ataques. Asegúrate de revisar y actualizar tus enlaces para mantener tu sitio seguro y la confianza de tus usuarios intacta.
Mantente siempre informado sobre las mejores prácticas de seguridad web y asegúrate de aplicarlas en tus proyectos para evitar posibles vulnerabilidades.