<p>Check out <a href="https://www.freecodecamp.org/">freeCodeCamp</a>.</p>
Verificação de saída freeCodeCamp.
Se você clicar no link acima, o navegador abrirá o link na janela ou guia atual. Este é o comportamento padrão em todos os navegadores.
Para abrir um link em uma nova guia, precisaremos examinar alguns dos outros atributos dos outros atributos do elemento âncora.
O Atributo de Destino
Este atributo informa ao navegador como abrir o link.
Para abrir um link em uma nova guia, basta definir o target
atribuir a _blank
:
<p>Check out <a href="https://www.freecodecamp.org/" target="_blank">freeCodeCamp</a>.</p>
Agora, quando alguém clica no link, ele abre em uma nova aba, ou possivelmente em uma nova janela, dependendo das configurações do navegador da pessoa.
Preocupações de segurança com target="_blank"
Eu recomendo fortemente que você sempre adicione rel="noreferrer noopener"
ao elemento âncora sempre que você usar o target
atributo:
<p>Check out <a href="https://www.freecodecamp.org/" target="_blank" rel="noopener noreferrer">freeCodeCamp</a>.</p>
Isso resulta na seguinte saída:
Verificação de saída freeCodeCamp.
o rel
atributo define a relação entre sua página e o URL vinculado. Configurando para noopener noreferrer
é evitar um tipo de phishing conhecido como tababismo.
O que é tabnabbing?
Tabnabbing, às vezes chamado de tabnabbing reverso, é um exploit que usa o comportamento padrão do navegador com target="_blank"
para obter acesso parcial à sua página por meio do window.object
API.
Com o tabnabbing, uma página para a qual você cria um link pode fazer com que sua página redirecione para uma página de login falsa. Isso seria difícil para a maioria dos usuários perceber porque o foco estaria na guia que acabou de abrir – não na guia original com sua página.
Então, quando uma pessoa voltar para a guia com sua página, ela verá a página de login falsa e poderá inserir seus detalhes de login.
Se você estiver interessado em aprender mais sobre como o tabnabbing funciona e o que os malfeitores podem fazer com o exploit, dê uma olhada Artigo de Alex Yumashev e este por OWASP.
Se você gostaria de ver um seguro exemplo de trabalho, verifique este página e os seus Repositório GitHub para obter mais informações sobre o exploit e o rel
atributo.
Em suma
É fácil usar HTML para abrir um link em uma nova guia. Você só precisa de uma âncora (<a>
) elemento com três atributos importantes:
- o
href
atributo definido para o URL da página que você deseja vincular - o
target
atributo definido para_blank
, que informa ao navegador para abrir o link em uma nova guia / janela, dependendo das configurações do navegador - o
rel
atributo definido paranoreferrer noopener
para evitar possíveis ataques maliciosos das páginas que você vincula
Novamente, aqui está o exemplo funcional de HTML:
<p>Check out <a href="https://www.freecodecamp.org/" target="_blank" rel="noopener noreferrer">freeCodeCamp</a>.</p>
O que resulta na seguinte saída no navegador:
Verificação de saída freeCodeCamp.
Obrigado novamente por ler. Boa codificação.