📌  相关文章
📜  在旧版浏览器中使用 target="_blank" 而不使用 rel="noreferrer"(这意味着 rel="noopener")是一种安全风险:请参阅 https: mathiasbynens.github.io rel-noopener #recommendations - CSS (1)

📅  最后修改于: 2023-12-03 15:37:43.527000             🧑  作者: Mango

在旧版浏览器中使用 target="_blank" 而不使用 rel="noreferrer"(这意味着 rel="noopener") 是一种安全风险

随着互联网的发展,人们越来越重视网络安全。在 Web 开发中,常常需要在新标签页中打开链接。而 target="_blank" 是实现这一功能最常见的方式。但是在早期的浏览器版本中,这种做法可能存在一些安全风险。因此,后来才出现了 rel="noopener noreferrer"。

实际上,rel="noopener" 是 rel="noreferrer" 的改进版,两者的作用都是禁止被链接的页面访问打开它的页面的 window.opener 属性,以免被恶意网站利用。然而,在旧版浏览器中,使用 rel="noopener" 会被忽略,因此出现了一些安全漏洞。

例如,攻击者可以在自己的网站上放置一个链接,当用户点击链接打开一个新标签页时,攻击者就可以通过 window.opener 与该新页面进行通信,获取用户的敏感信息。如果用户打开的是银行网站或其他涉及金融等重要信息的网站,这种攻击方式就会造成重大损失。

在旧版浏览器中使用 target="_blank" 而不使用 rel="noopener" 会让用户的隐私处于不安全的境地。因此,我们强烈建议使用 rel="noopener noreferrer" 来保护用户的隐私安全,即使用户使用的是旧版浏览器。

参考资料: