Solución a la Vulnerabilidad target='_blank'

Mejorando la Seguridad en WordPress: Solución a la Vulnerabilidad target="_blank"

En el mundo dinámico de WordPress, la seguridad es una prioridad constante. Desde la versión 4.7.4, se implementó una nueva versión del editor TinyMCE para abordar una vulnerabilidad conocida como target="_blank". Este cambio automático añade la relación rel="noopener" a los enlaces que abren en nuevas ventanas o pestañas. Pero, ¿te has percatado de ello?

¿Qué es la vulnerabilidad target="_blank"?

La vulnerabilidad, también llamada reverse tabnabbing, es un tipo de ataque de phishing. En este escenario, un atacante reemplaza la pestaña legítima por un documento malicioso, aprovechando enlaces con target="_blank". El usuario, sin darse cuenta, es redirigido a una página falsa que simula ser la original, exponiéndolo a riesgos de seguridad.

¿Cómo funciona rel="noopener"?

Para prevenir la vulnerabilidad target="_blank" o reverse tabnabbing, se añade la relación rel="noopener" a los enlaces que abren en nuevas ventanas o pestañas. Firefox no reconoce esta relación, por lo que se sugiere añadir rel="noopener noreferrer". Un ejemplo de implementación sería:

        <a target="_blank" rel="noopener noreferrer" href="https://encode.owinile.com">Texto del enlace externo</a>
    

Esta práctica elimina la posibilidad de explotar la vulnerabilidad, proporcionando una capa adicional de seguridad.

¿Afecta al SEO añadir noopener noreferrer?

Surge la pregunta sobre el impacto en el SEO al agregar noopener noreferrer a enlaces, especialmente aquellos con rel="nofollow". Google ha afirmado que esta modificación no afecta el posicionamiento de los enlaces, ya sean nofollow o no. Por lo tanto, la implementación de estas relaciones de enlace no influye en el SEO según las respuestas de Google a preguntas de webmasters.

        <a target="_blank" rel="nofollow noopener noreferrer" href="https://encode.owinile.com">Texto del enlace externo</a>
    

¿Cómo soluciona esta vulnerabilidad WordPress?

La versión 4.7.4 de WordPress introdujo una actualización en el editor TinyMCE, abordando la vulnerabilidad al añadir automáticamente la relación rel="noopener" a todos los enlaces con target="_blank". Esta solución se aplica tanto a nuevos contenidos como a los existentes si se abren para editar.

Es crucial destacar que WordPress/TinyMCE solo añade la relación noopener en los enlaces que se elijan abrir en nuevas ventanas o pestañas.

Desactivando la Protección (No Recomendado)

Si prefieres desactivar esta funcionalidad de seguridad, puedes hacerlo mediante el siguiente código. Sin embargo, se advierte firmemente que esta acción expone a tus visitantes y a ti mismo a una vulnerabilidad grave:

        
// Esto desactiva voluntariamente una funcionalidad de seguridad de tinyMCE.
// NO ES RECOMENDABLE usar este código.
add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target');
function tinymce_allow_unsafe_link_target( $mceInit ) {
    $mceInit['allow_unsafe_link_target']=true;
    return $mceInit;
}
        
    

Conclusión: Priorizando la Seguridad

En resumen, la adición automática de la relación rel="noopener" por parte de WordPress/TinyMCE es una funcionalidad de seguridad vital. Protege contra una vulnerabilidad seria que podría conducir al robo de información. Aunque puede parecer incómodo tener que añadir esta relación a cada enlace externo, la seguridad de tu sitio y la de tus visitantes es la principal prioridad.