target=_blank 隐含 rel=noopener (#今日学到)

target=_blank 隐含 rel=noopener (#今日学到)

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

本文讨论了target="_blank"的安全问题,介绍了使用rel="noopener"来防止目标网站访问你的网站的方法。现在,浏览器已经默认将rel="noopener"隐式应用于target="_blank",但关于rel="noopener"的建议仍然存在。

🎯

关键要点

  • 本文讨论了target="_blank"的安全问题。
  • 使用target="_blank"时,目标网站可以通过window.opener访问原网站。
  • 这种行为可能导致安全隐患,例如恶意网站可以更改原网站的URL。
  • 可以通过使用rel="noopener"来防止这种情况。
  • 从2024年开始,浏览器将默认隐式应用rel="noopener"。
  • 尽管有新的变化,互联网上仍然充满了关于rel="noopener"的建议。

延伸问答

为什么使用target="_blank"会存在安全隐患?

使用target="_blank"时,目标网站可以通过window.opener访问原网站,可能导致恶意网站更改原网站的URL。

如何使用rel="noopener"来提高安全性?

通过在链接中添加rel="noopener",可以防止目标网站访问原网站,从而提高安全性。

浏览器对rel="noopener"的支持情况如何?

从2024年开始,浏览器将默认隐式应用rel="noopener",即使用户未显式添加该属性。

target="_blank"和rel="noopener"的组合有什么作用?

组合使用target="_blank"和rel="noopener"可以在打开新标签的同时,防止目标网站访问原网站。

为什么互联网上仍然有关于rel="noopener"的建议?

尽管浏览器将隐式应用rel="noopener",但互联网上仍然存在关于其使用的建议,以提高用户的安全意识。

使用target="_blank"时可能面临哪些攻击?

可能面临的攻击包括XSS攻击,攻击者可以通过注入恶意链接来更改原网站的URL。

➡️

继续阅读