Article image
Diogo Dantas
Diogo Dantas11/04/2023 15:18
Compartilhe

Aviso de vulnerabilidade de segurança com a tag HTML <a> e como se proteger!

    A tag HTML <a> define um hyperlink, que é usado para ligar de uma página para outra, como no exemplo abaixo:

    <a href="https://google.com">Google</a>

    Assim como muitas tags, a tag <a> também possui atributos e uma delas é o atributo target, que especifica onde abrir o link e um dos valores para esse atributo é o _blank, onde você diz ao navegador para abrir o link em um nova guia ou janela (de acordo com a preferência do usuário):

    <a href="https://google.com" target="_blank">Google</a>

    É AI QUE MORA O PERIGO!

    O uso da target="_blank" dá ao site de abertura acesso parcial ao objeto window.opener via JavaScript, que permite que essa página acesse e altere o window.opener.location da sua página e potencialmente redirecionam os usuários para sites de malware ou phishing.

    Traduzindo pro Português: Se a página a que você se refere contém código malicioso, ela pode usar o backdoor (window.opener) do seu site para sequestrar o navegador do usuário e, por exemplo, redirecioná-lo para um site de phishing perigoso que rouba suas informações ou instalar malware em seu computador.

    O que fazer para evitar isso?

    Simples. Sempre que usar target="_blank" para páginas que você não controla, adicione rel="noopener" a sua tag <a> para evitar que o objeto window.opener seja enviado com a solicitação. Um valor de atributo rel="noopener" em um elemento de link especifica que o recurso vinculado não poderá acessar ou adulterar a página atual:

    <a rel="noopener" target="_blank" href="https://google.com">Google</a>

    Isso é tudo. Abraços!!

    Referências Biliográficas:

    

    Compartilhe
    Comentários (3)
    Thiago Anjos
    Thiago Anjos - 12/04/2023 11:19

    Artigo super interessante, confesso que não sabia disso, vivendo e aprendendo.......

    Everton Martins
    Everton Martins - 11/04/2023 15:33

    Muito top ter aprendido isso meu caro, muito obrigado

    Marta Geraldo
    Marta Geraldo - 11/04/2023 15:29

    Muito bom Diogo. Acho importante falarmos de segurança também. Não vejo muitos artigos na área de programação e desenvolvimento, muito menos nos cursos, falando de maneiras de proteger a aplicação contra roubo de dados. Parabéns pela dica, que tenho certeza muitos colegas ainda não sabem!