Les liens sont des éléments HTML matérialisés par la balise <a>. Ils sont placés dans une page et permettent aux utilisateurs, en cliquant dessus, d'accéder à une autre page. On parle de liens externes lorsque ceux-ci mènent l'utilisateur sur un autre site. Il est possible de définir le comportement d'un lien sur le navigateur grâce à l'attribut "target". Lorsqu'il n'est pas renseigné, la page s'ouvre sur l'onglet courant et remplace la page actuelle. Lorsqu'il est défini avec la valeur "_blank", il ouvre un nouvel onglet sur le navigateur et laisse la page actuelle accessible.
Exemple d'un lien externe s'ouvrant sur un nouvel onglet :
<a href="https://cocolyze.com/fr" target="_blank">Cocolyze</a>
Les liens externes s'ouvrant sur un nouvel onglet exposent du code sensible de la page actuelle à la page de destination. Si la destination est malveillante, elle pourra effectuer une redirection malicieuse de la page actuelle vers une autre destination. De même, il se peut que la page de destination s'exécute sur le même processus que la page actuelle et si beaucoup de code JavaScript est exécuté, la page actuelle pourra être ralentie.
Afin de sécuriser les liens externes, il est nécessaire d'ajouter l'attribut "rel", sur tous les liens <a>, en y spécifiant la valeur "noopener" ou "noreferrer" lorsqu'ils s'ouvrent sur un nouvel onglet.
Exemple de lien externe protégé :
<a href="https://cocolyze.com/fr" target="_blank" rel="noopener">Cocolyze</a>