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.