miércoles, 13 de mayo de 2020

La vulnerabilidad de href

código HTML del atributo href


El motivo

La propiedad  window.opener, puede redirigir la página externa a una URL maliciosa, lo que hace que su sitio o usuarios sean vulnerables y expuestos al robo de datos u otros ataques de phishing 

Si bien el atributo href especifica la dirección de destino del enlace, otro atributo común es el target que se utiliza para especificar dónde abrir la dirección de destino del enlace. Puede abrir el enlace en:

_self : esto abriría el enlace en la misma ventana o pestaña en la que se hizo clic, este valor es especialmente útil cuando se ha usado la etiqueta BASE para especificar un frame destino por defecto distinto del actual.
_blank - Esto abriría el enlace en una nueva ventana o pestaña
_parent : Esto abriría el enlace en el marco primario del siguiente nivel. Si no hay padre, se comporta como_self
_top - : Fuerza a que el enlace sea mostrado usando todo el espacio de la ventana del navegador destruyendo toda estructura deframes. Este valor debe ser usado siempre que creemos un enlace a una página externa a nuestro sitio web.

La solución

Asegúrese de agregar el rel="noopener noreferrer" para evitar la explotación de la API window.opener disponible en cada página.

Agregar el rel="noopener noreferrer"en el atributo <a>elemento primario permitirá que la nueva ventana se ejecute en un proceso separado y evitará que se establezca la referencia window.opener, lo que significa que la propiedad será igual a nula.

rel = "noopener" protege una nueva ventana a la que puede acceder la propiedad window.opener desde una ventana externa y asegurando de que se ejecute en un proceso separado.
rel = "noreferrer" es similar a noopener , excepto que también evita que la ventana de destino vea la URL referida.

<a href="https://hashnode.com/devblog" target="_blank" rel="noopener noreferrer">
  Create your Devblog today
</a>

Al agregar el atributo rel="noopener"o rel="noreferrer"a un enlace externo, evitará que una nueva pestaña aproveche la propiedad de  JavaScript window.opener  que, por lo tanto, mejora la seguridad y el rendimiento de su sitio .

No hay comentarios:

Publicar un comentario